CSS教程:彻底弄懂闭合浮动元素


  最近两个月断断续续做了好几个网站的美工,做的过程中对DIV+Css的标准开发有了进一步的了解。有两点收获最大,一是彻底弄懂了CSS的盒子模式(Box Model),再一个就是搞定了困扰我很久的“闭合浮动元素”的问题:

  一般说来如果某个子元素使用了浮动(float),那父元素总是不能确切地知道子元素是在什么位置结束的,所以父元素的下边框总是从子元素的中间甚至是顶部穿过,看起来很不舒服。

  最早时我都是在子元素结束后单独加个<br />或<div></div>将其属性设置为“clear:all;”,但这样一来就需要生成不少没用的空标签,甚至有些网站需要修改ASP代码以自动添加这些空标签,只能算是下策。

  后来发现当父标签也设置为浮动(float)时就可以在正确的位置闭合了,所以就把父容易也浮动起来,这样一来很多ASP代码就不需要改了,遇到需要添加含Clear属性的空标签时如果不能从模板中添加,而需要从ASP代码中添加时,就不需要改ASP代码了,只需要把父容器设为浮动,如果还需要改ASP,那就再把父容器的父容器设为浮动,一层层地浮动上去,总能解决问题的。这虽然能省不少事,但很容易造成整个页面中全是浮动元素,-_-!!! 也只能算是中策而已。

  再后来,在网上搜索别的东西时偶然发现有人说只要在父容器的CSS属性中加上以下两个属性就可以搞定了:

overflow: auto;
_height: 1%;

  试了一下,果然好用,这么一来,这在目前应该算是解决这一问题的上策了:不需要对页面做任务修改,也基本上不需要对父容器--甚至是父容器的父容器做什么改动,只给父容器添加两个无所谓的属性就搞定了。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3