首页 > 代码库 > 前端样式及技巧总结

前端样式及技巧总结

总结IE与ff,chrome存在的差异或技巧或心得体会,我知道还有很多没总结出来,但后续学习到了会继续补充的~

1、ie6,ie7不支持对内联元素设置display:inline-block

对块级元素设置display:inline-block,ie6,ie7不支持。当您在ie7,ie6上浏览页面时,发现ul列表显示有异于ie8+,可能要考虑是否将li 设置了inline-block.

对内联元素设置display:inline-block,所有元素均支持。

 

2、ie6,ie7不支持rgba这种写法

在ie8+对背景元素使用rgba这种写法是支持的,rgba是设置背景颜色并指定透明度

 

3、ie6、ie7、ie8不支持html5标签,ie9及以上支持

若使用标签<header id="header"></header>,在ie6、7、8是不行的,即使对#header设置样式,该样式也不会生效;

 

4、 ie6,使用position:relative定位时,会失去布局,导致页面紊乱

通常会用到position:absolute来进行绝对定位,从而会用到position:relative来相对定位,这样绝对定位就有了参照点。如果不对运用了position:relative的元素重新拥有布局,你会发现在ie6下是无法达到效果的。因此若要兼容ie6,需要再次获取布局。获取布局可以通过设置zoom,height,width来得到;

如div{position:relative;*zoom:1;}

 

5、外边距叠加

我们知道盒子模型是会进行外边距叠加的,若两个div都存在margin-top,则会进行外边距叠加,取其中较大的值作为margin-top.

举个例子:

<div id="a">
    <div id="b"></div>
</div>
#a{height:100px;width:100px;margin-top:10px;}
#b
{height:50px;width:50px;margin-top:15px;}

此时得到的效果就是元素b在a的上方,a,b有着15px的margin-top.

若想要实现b是相对于amargin-top为15px,而amarign-top为10px这种效果,需要对a设置边框或者内边距才能达成效果。即运用样式:

 

#a{height:100px;width:100px;margin-top:10px;padding-top:1px;}
#b
{height:50px;width:50px;margin-top:14px;}

 

待续...

 

 

 

前端样式及技巧总结