欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

关于DIV+CSS浮动问题的汇总[增加中]_html/css_WEB-ITnose

程序员文章站 2022-06-07 09:10:32
...
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%亦可解决