您的位置:首页 > Web前端 > CSS

关于DIV+CSS浮动问题的汇总[增加中]

2009-08-04 13:52 399 查看
1.
解决边距问题,通常可以在不同的div加上border:1px solid #333;属性。由此来查看,是哪个层被撑开了。
-------------------------------------
ie中最常见的会被撑开的问题,是<div style="clear: both;"></div>
因为ff的float属性会乱,所以我们在每个带有float属性的层排列最后,会加这么一个层,用来将ff的float属性关闭。
但是这个层放在ie6里就会占据一定的间距。解决方案是:
<div style="clear: both;"><div></div></div>
---------------------------------------------------------------------------------------------------------
2.
应用浮动+margin在IE6会出现双倍距离的现象,注意 只是出现在IE6中,通常这种现象可以用_margin来解决,即针对IE6的hack。
---------------------------------------------------------------------------------------------------------
3.
设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上display:inline;
例如: <#div id=”imfloat”>
相应的css为
#IamFloat{ float:left;
margin:5px;/*IE下理解为10px*/ display:inline;/*IE下再理解为5px*/}
也就是加上一句 display:inline就可以。

UL的padding与margin
ul标签在FF中默认是有padding值的,而在IE中只有margin默认有值,所以先定义
ul
{margin:0;padding:0;}
---------------------------------------------------------------------------------------------------------
4.
<ul>
<li><a href="#">胶州店-春季大淘宝 共度二月二</a> <span> [ 2009年2月19日 ]</span> </li>
<li><a href="#">广场店-相“惠”在维客 共度二月二</a> <span> [ 2009年2月18日 ] </span></li>
<li><a href="#">沧口店-欢乐维客购 共度二月二 </a> <span> [ 2009年2月18日 ]</span></li>
<li><a href="#">平度店-二月二龙抬头 大仓满小仓流</a><span> [ 2009年2月18日 ]</span></li>
</ul>
这样一段代码,如果给 span加上float:right;
这样右浮动的时间会下沉一段距离
解法方案:
给li a加个display:inline-block;float:left;属性;
li a{display:inline-block;float:left;}
2.把a标签跟span标签直接对调也能解决问题:
<li><span>[ 2009年2月18日 ]</span><a href="#">沧口店-欢乐维客购 共度二月二</a></li>
原因:标签加上浮动就转为块级元素了
---------------------------------------------------------------------------------------------------------
5.
对于左浮动的元素,它从最右端出发,向左浮动,知道碰到第一个障碍物,把自己放在它旁边
---------------------------------------------------------------------------------------------------------
6.
清楚float的方法:
1,用<div style="clear:both;"></div>放在有浮动的div或者其他元素后面,即可清除浮动,这样会增加html的冗余代码,不做推荐!
2,在外层元素里定义css,如下:
<div class="wrapperElem">
<div class="innerElem"></div>
</div>
css如下:
.wrapperElem{ overflow:hidden; width:auto;}
.innerElem{ float:left;}
这样即可清除innerElem的浮动问题。注意看外层元素的css,如果这里的width去掉的话,会发现在ie6里有问题,如果不写width;加上_height:1%亦可解决
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: