為不同的瀏覽器載入不同CSS的二種方法CSS Browser Selector

來源:互聯網
上載者:User

由於各瀏覽器(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;}();

此指令碼能區別更多的瀏覽器,具體使用方法可看指令碼原作者網站 。

示範地址

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.