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

 由于各浏览器(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;
  }();

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

<script> function Preview(obj) { var TestWin=open(''); TestWin.document.write(obj.value); } function copyCode(obj) { var rng = document.body.createTextRange(); rng.moveToElementText(obj); rng.scrollIntoView(); rng.select(); rng.execCommand("Copy"); rng.collapse(false); } function saveCode(obj) { var winname = window.open('', '_blank', 'top=10000'); winname.document.open('text/html', 'replace'); winname.document.writeln(obj.value); winname.document.execCommand('saveas','','homepage.yesky.com.htm'); winname.close(); } function addBookmark(title,url) { if (window.sidebar) { window.sidebar.addPanel(title, url,""); } else if( document.all ) { window.external.AddFavorite(url,title); } else if( window.opera && window.print ) { return true; } } </script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值