在不添加标签的情况下解决浮动问题:
<div id=”A”>
<div id=”B” style=”float:left”></div>
</div>
================回答问题的分割线==================
#A { overflow:hidden; zoom:1;}
#A:after { content:”.”; height:0; display:block;clear: both;visibility:hidden;}
================答案解释的分割线==================
对于 IE 浏览器:使用了 zoom:1 来触发 haslayout。
zoom语法:
zoom : normal | number
参数:
normal : 使用对象的实际尺寸
number : 百分数|无符号浮点实数。浮点实数值为1.0或百分数为100%时相当于此属性的normal值
说明:
设置或检索对象的缩放比例。
示例:
div {zoom : 0.5; }
—————————-通俗语言—分割线—————————-
用css中的zoom属性可以让网页实现IE7世界之窗遨游中的放大缩小功能。
比如你想让你的网页缩小为原来的一半,那么就在body中加入style=”zoom:0.5″,如:
<body style=”zoom:0.5″>
对非 IE 浏览器:使用:after 伪元素在元素之后添加内容。
- 用content属性添加用于清除的额外内容,一般为“.”。
- 设display:block;因为display的默认值是”inline”, 不能收到clear的特性。
- 将清除容器的高度设为零,height:0。
- 清除浮动。
- 可见度设为隐藏。
:after 伪元素通常和content配合使用,IE不支持此伪元素,非IE 浏览器支持,所以并不影响IE/WIN浏览器。( IE 8 支持 content 属性,但对:after 伪元素的支持并不完全。)
—————————什么是:after———————————
:after伪元素允许在元素内容的最后面插入生成内容。默认地,这个伪元素是行内元素,不过可以使用属性 display 改变这一点。
此样式会在每个 h1 元素之后插入一张图片:
h1:after{
content:url(image.gif);}
================额外话的分割线==================
<div id=”A”>
<div id=”B” style=”float:left;float:none;”></div>
</div>
这样虽然可以真的,完完全全的清除浮动,但并非我们所需要的。