1.
解决边距问题,通常可以在不同的div加上border:1px solid #333;属性。由此来查看,是哪个层被撑开了。
-------------------------------------
ie中最常见的会被撑开的问题,是
因为ff的float属性会乱,所以我们在每个带有float属性的层排列最后,会加这么一个层,用来将ff的float属性关闭。
但是这个层放在ie6里就会占据一定的间距。解决方案是:
---------------------------------------------------------------------------------------------------------
2.
应用浮动+margin在IE6会出现双倍距离的现象,注意 只是出现在IE6中,通常这种现象可以用_margin来解决,即针对IE6的hack。
---------------------------------------------------------------------------------------------------------
3.
设置为float的div在ie下设置的margin会加倍。这是一个ie6都存在的bug。解决方案是在这个div里面加上display:inline;
例如:
相应的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.
这样一段代码,如果给 span加上float:right;
这样右浮动的时间会下沉一段距离
解法方案:
给li a加个display:inline-block;float:left;属性;
li a{display:inline-block;float:left;}
2.把a标签跟span标签直接对调也能解决问题:
[ 2009年2月18日 ]沧口店-欢乐维客购 共度二月二
原因:标签加上浮动就转为块级元素了
---------------------------------------------------------------------------------------------------------
5.
对于左浮动的元素,它从最右端出发,向左浮动,知道碰到第一个障碍物,把自己放在它旁边
---------------------------------------------------------------------------------------------------------
6.
清楚float的方法:
1,用
放在有浮动的div或者其他元素后面,即可清除浮动,这样会增加html的冗余代码,不做推荐!
2,在外层元素里定义css,如下:
css如下:
.wrapperElem{ overflow:hidden; width:auto;}
.innerElem{ float:left;}
这样即可清除innerElem的浮动问题。注意看外层元素的css,如果这里的width去掉的话,会发现在ie6里有问题,如果不写width;加上_height:1%亦可解决