为不同的浏览器载入不同CSS的二种方法 - CSS+DIV -

为不同的浏览器载入不同CSS的二种方法

时间:2013-04-11 12:44:56   来源:   评论:加载中...   点击:加载中...
由于各浏览器(IE、gecko、opera......)对CSS的渲染方式都有所不同,造成显示效果不同,所以可通过对其载入不同CSS的方法来解决,下面介绍下二种方法来实现,不一定很实用,难的玩一把。纯CSS方式  Code   .box...

由于各浏览器(IE、gecko、opera......)对CSS的渲染方式都有所不同,造成显示效果不同,所以可通过对其载入不同CSS的方法来解决,下面介绍下二种方法来实现,不一定很实用,难的玩一把。

纯CSS方式

  Code
  .box{
  width: 20em;
  height:20em;
  background: #369;
  }
  /*--gecko内核--*/
  @media all and (min-width: 0px){
  box{
  background: #CC0000;
  }
  }
  /*--opera hacks--*/
  /*--不能通过W3C CSS检验--*/
  <!--[if IE ]><style>
  .box{    background: #808080;
  }
  </style><![endif]-->

以上代码运行的结果,在IE中是灰色,Opera中是紫红,Firefox中是蓝色

在IE7以前版本还可采用CSS2的属性选择符来区别,不幸的是IE7开始已能识别。

本文章由forestgan于15-Oct-2006发表

javascript的方法

  var css_browser_selector = function() {
  var
  ua = navigator.userAgent.toLowerCase(),
  is = function(t){ return ua.indexOf(t) != -1; },
  h = document.getElementsByTagName('html')[0],
  b = (!(/opera|webtv/i.test(ua)) && /msie (d)/.test(ua)) ? ((is('mac') ? 'ieMac ' : '') + 'ie ie' + RegExp.$1)
  : is('gecko/') ? 'gecko' : is('opera') ? 'opera' : is('konqueror') ? 'konqueror' : is('applewebkit/') ? 'webkit safari' : is('mozilla/') ? 'gecko' : '',
  os = (is('x11') || is('linux')) ? ' linux' : is('mac') ? ' mac' : is('win') ? ' win' : '';
  var c = b+os+' js';
  h.className += h.className?' '+c:c;
  }();

此脚本能区别更多的浏览器,具体使用方法可看脚本原作者网站。



相关热词搜索:

 
上一篇:图片在显示一定的时间后消失
下一篇:图片在已知大小容器中的水平垂直居中实例
收藏 将此文推荐给朋友
分享到: