网页CSS技巧:闭合浮动元素超级简单的方法

css|浮动|技巧|网页

关于闭合浮动元素(clearing float)的方法现在已经很多了,你还不了解的话去old9的blog看看,有一篇闭合浮动元素。

这些方法我最喜欢就是 使用:after 伪类动态的嵌入一个用于清除浮动的元素,可惜代码量太大了,看着不够简洁。现在我看到有个方法超级简单。赶紧介绍一下。

原理是这样的,外围元素之所以不能很好的延伸,问题出在了overflow上,因为overflow不可见。见W3C的解释:
In addition, if the element has any floating descendants whose bottom margin edge is below the bottom, then the height is increased to include those edges. Only floats that are children of the element itself or of descendants in the normal flow are taken into account, e.g., floats inside absolutely positioned descendants or other floats are not.

现在只要将给外围元素添加一个overflow:auto;就可以解决问题,结果是除了IE,真的可以解决。下来就要解决ie的问题了,再加上_height:1%; ,这个问题就完全解决了。

下面是我做的三个例子作为比较

XHTML:
<div id="wrap">
<div class="column_left">
<h1>Float left</h1>
</div>
<div class="column_right">
<h1>Float right</h1>
</div>
</div>

CSS:
#wrap{ border:6px #ccc solid; overflow:auto; _height:1%;}
.column_left{ float:left; width:20%; padding:10px;}
.column_right{ float:right; width:75%; padding:10px; border-left:6px #eee solid;}

时间: 2024-08-30 06:48:36

网页CSS技巧:闭合浮动元素超级简单的方法的相关文章

web标准化:闭合浮动元素超级简单的方法

web|web标准|浮动 外围元素之所以不能很好的延伸,问题出在了overflow上,因为overflow不可见,见W3C的解释.现在只要将给外围元素添加一个overflow:auto;就可以解决问题,结果是除了IE,真的可以解决.下来就要解决ie的问题了,再加上_height:1%; ,这个问题就完全解决了. 下面是我做的三个例子作为比较 1.没有闭合浮动元素2.非IE下闭合浮动元素3.完全闭合元素 代码如下: XHTML<div id="wrap"> <div c

闭合浮动元素超级简单的方法_CSS/HTML

Float left 这个层左浮动 .column_left{ float:left; width:20%; padding:10px;} Float right 这个层右浮动,下面是完整的CSS,这是一个外围wrap_three层应用overflow:auto;加_height:1%;闭合浮动的模型.外围容器可以正常延伸.IE6.0.Firefox 1.5和Opera 9.0都通过了测试. #wrap_three{ border:6px #ccc solid; overflow:auto; _

总结网页制作中闭合浮动元素的几个方法

浮动|网页 在页面制作过程当中,我们曾经遇到过这样的问题,当浮动元素高度增加,而超出其父容器时,父容器不会随着它的高度增加而变长.比如 <div id="main">   <div id="box1">box1</div>   <div id="box2">box2</div>   <div class="clean"></div> </

CSS规范 闭合浮动元素介绍

css|浮动|规范 按照CSS规范,浮动元素(floats)会被移出文档流,不会影响到块状盒子的布局而只会影响内联盒子(通常是文本)的排列.因此当其高度超出包含容器时,一般父容器不会自动伸长以闭合浮动元素.但是有时我们却需要这种自动闭合行为,具体如何处理呢? 有一种做法就是在父容器内再插入一个额外的标签,并令其清除浮动(clear)以撑大父容器.这种方法浏览器兼容性好,没有什么问题,缺点就是需要额外的(而且通常是无语义的)标签,所以我个人不大喜欢.后来又有了一种新的方式,使用 :after 伪类

CSS技巧学习:我们一起认识CSS闭合浮动元素

css|浮动|技巧 按照CSS规范,浮动元素(floats)会被移出文档流,不会影响到块状盒子的布局而只会影响内联盒子(通常是文本)的排列.因此当其高度超出包含容器时,一般父容器不会自动伸长以闭合浮动元素.但是有时我们却需要这种自动闭合行为,具体如何处理呢? 有一种做法就是在父容器内再插入一个额外的标签,并令其清除浮动(clear)以撑大父容器.这种方法浏览器兼容性好,没有什么问题,缺点就是需要额外的(而且通常是无语义的)标签,所以我个人不大喜欢.后来又有了一种新的方式,使用 :after 伪类

CSS技巧:子元素浮动后父容器的闭合

最近两个月断断续续做了好几个网站的美工,做的过程中对DIV+Css的标准开发有了进一步的了解.有两点收获最大,一是彻底弄懂了CSS的盒子模式(Box Model),再一个就是搞定了困扰我很久的"闭合浮动元素"的问题: 一般说来如果某个子元素使用了浮动(float),那父元素总是不能确切地知道子元素是在什么位置结束的,所以父元素的下边框总是从子元素的中间甚至是顶部穿过,看起来很不舒服. 最早时我都是在子元素结束后单独加个<br />或<div></div&g

CSS教程:闭合CSS浮动元素的几种方法

按照CSS规范,浮动元素(floats)会被移出文档流,不会影响到块状盒子的布局而只会影响内联盒子(通常是文本)的排列.因此当其高度超出包含容器时,一般父容器不会自动伸长以闭合浮动元素.但是有时我们却需要这种自动闭合行为,具体如何处理呢? 网页教学网 有一种做法就是在父容器内再插入一个额外的标签,并令其清除浮动(clear)以撑大父容器.这种方法浏览器兼容性好,没有什么问题,缺点就是需要额外的(而且通常是无语义的)标签,所以我个人不大喜欢. 后来又有了一种新的方式,使用 :after 伪类动态的

闭合浮动元素(clearing float)的简单方法

关于闭合浮动元素(clearing float)的方法现在已经很多了,个人认为简单实用的方法就是使用:after伪类动态的嵌入一个用于清除浮动的元素,可惜代码量太大了,看上去不够简洁. 这一方面的原理是,外围元素之所以不能很好的延伸,问题出在了overflow上,因为overflow不可见(见W3C的解释).现在只要将给外围元素添加一个"overflow:auto",就可以解决问题,结果是除了IE,真的可以解决.下来就要解决ID的问题了,再加上"_height:1%"

css如何让浮动元素水平居中_javascript技巧

对于定宽的非浮动元素我们可以在CSS中用 margin:0 auto 进行水平居中,对于不定宽的浮动元素我们也有一个常用的技巧解决它的水平居中问题.解决水平居中问题有很多种方法,下面先给大家分享一下三种方法,希望能帮助到大家. 方法一: 1.HTML 部分: <div class="box"> <p>我是浮动的</p> <p>我也是居中的</p> </div> 2.CSS 部分: .box{ float:left;