总结如下:在IE上,你用的CSS语句可以很轻松的去实现,并且要求不是很严格,就好比margin这个选择符,在IE中实现的话,你可以这样来标记:margin:0px,或则你要使你的当前层的外边距的上下边距为10px、左右边距为20px的时候,我们可以这样来标记:margin:10px,20px;在ie中显示的话就可以把这边距给显示出来,可以你若用netscape来显示它,那么你会看到,和没有设定一样,好像这个margin选择符在里面就没有用到,我们必须严格地来写出它的边距:margin-top:10px;margin-bottom:10px;margin-left:20px;margin-right:20px;这样才能正确的显示出来,所以说在IE浏览器上,我们可以很轻松的写出我们需要实现的效果,但在netscape浏览器中,我们必须严格地按照css的规则来写,不然不起任何作用,你像在IE中,你要使一个层随你的页面高度变化而变化,那你第一感觉就是把这层的height属性设置为100%,这样你在IE中显示时它会随你的页面变化,但你在netscape中这样对它没用,你会看到这个层里面包括的元素放不下了就会显示到这个层的外面来,当然你会说我们可以用绝对定位,那样就不会外漏了,但是,有时候我们并不是要每一个元素都绝对定位,没必要的东西,呵呵,那么我们在netscape中,我们可以不设置这个层的高度,那样就可以实现这个层随你的页面高度变化而变化,大多你在netscape中显示的效果,到IE中也能照样显示,但在IE中正常显示的效果在netscape中就未必能正常显示了,呵呵。
所以大家以后在用div+CSS的时候,最好是在多种浏览器下运行一遍,要考虑到一些除IE外像netscape,FireFox等浏览器的显示效果,这样使你的页面不至于在别的浏览器中看起来一团糟。
针对windows系统下不同浏览器版本选择相应CSS文件的代码.比较简单,但作用不小.
<script type="text/javascript">
<!--
if (window.navigator.userAgent.indexOf("MSIE")>=1) {
//如果浏览器为IE
setActiveStyleSheet("default.css");
} else {
if (window.navigator.userAgent.indexOf("Firefox")>=1) {
//如果浏览器为Firefox
setActiveStyleSheet("default2.css");
} else {
//如果浏览器为其他
setActiveStyleSheet("newsky.css");
}
}
function setActiveStyleSheet(title){
document.getElementsByTagName("link")[0].href="style/"+title;
}
//-->
</script>
以上脚本放在</head>之前即可.