div+css在IE和NETSCAPE中的不同

       今天,我把我以前在IE上实现的一个用DIV+css布局来做的登录界面放到netscape上去实现,发现是效果与IE上显示的是千差万别,呵呵,不得不让我伤脑筋。

      总结如下:在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>之前即可.

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值