在牛腩视频中遇到了兼容问题。原因大多是不同的浏览器,甚至是相同浏览器不同的版本对CSS的解释不同造成的。和一千个读者就有一千个哈姆雷特一样的道理。那么下面就遇到的问题,然后配合上网查的资料汇总一下常见的问题及其解决途径。
常见的兼容问题
1、不同的浏览器默认的Margin和padding不同
这个问题在牛腩视频中遇到了,出现元素之间的距离大小不一。如今的社会生产都讲究的标准,所以这个问题自然不能放任。所以解决方法牛腩老师也给了,如下:
*{
margin:0px;
padding:0px;
}
2、float之后跟着margin设置
这样产生的问题是后面的一个会计元素会被顶到下一行。这也遇到了,就是IE6对margin显示的比设置的大。因此,对布局造成了影响。要知道CSS的布局进度是px级的。那么应对方法是在float控制中,加入display:inline,将浮动的元素转化为行内属性。
3、浮动的另一个问题
浮动的使用是我们对网页的布局灵活不少,同时这个功能也常常给我们造成一些麻烦。我自己在做的时候,就更觉跟不上它的效果。经常出现不能想象的结果。对一个DIV块进行浮动,而包含它的DIV块元素没有浮动。这样就会造成错位,常常是整个也面的错位。好乱看着。
所以,当你对子DIV快进行浮动时,需要对其父DIV块也进行浮动。这是最简单的途径。网上给的方法还有:在父DIV块中加上Overflow:auto。但是在IE中还需要加上:“_height:1%”。
那么以上都这次遇到的问题,网上还说了很多我没遇到的问题,暂时先不管了。也不太理解。
CSS的使用技巧:
1、HACk
在牛腩视频中还介绍了几个针对某个浏览器的特殊符号,从而在兼容问题出现是对不同的浏览器进行不同的布局,而最终达到一样的效果。
height:100px; 所有浏览器都通用
_heigth:100px; IE6专用
*+height:100px; IE7专用
*height:100px; IE6,IE7公用
height:100px;!imoprtant IE7\FF公用
使用这些特殊的符号标记时需要非常注意,因为浏览器解释CSS时会用优先级高的去替代优先级低的设置。本篇博客到此结束,拖了好多天!