当前位置: 首页 > 网络学院 > 网页制作基础教程 > WEB设计综合 > 为不同的浏览器载入不同CSS的二种方法

WEB设计综合
使用css让英文文本自动换行
兼容IE6/IE7/FF的页面最小宽度设置

WEB设计综合 中的 为不同的浏览器载入不同CSS的二种方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-03-01   浏览: 1405 ::
收藏到网摘: n/a

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

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

<!--[if IE]>

<style>
@import url("/tutorials/demo/css/ie.css");
</style>

<![endif]-->

<style type="text/css">
<!--
p{
padding: 1em;
color: #FFF;
text-align: center;
}
h3{
fon-size: 1.5em;
}
.box{
width: 20em;
height:20em;
background: #369;
margin: 2em auto;
}
@media all and (min-width: 0px){
box{
background: #C00;
}
}
-->
</style>

<!--[if IE ]>
<style>
.box{
background: #808080;
}
</style>
<![endif]-->

CSS Browser Selector
<div class="box">
<p>IE中是灰色</p>
<p>Opera中是紫红</p>
<p>Firefox中是蓝色</p>
</div>

如果不能正常显示,请刷新页面。

 

 

评论 (0) All

登陆 | 还没注册?