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

WEB设计综合
连接基础
HTML基础
CSS 基础
添加背景音乐
HTML中的脚本标签
水平线样式
CSS基础以及CSS代码
自定义404错误页
链接至外部样式表
文本和颜色
表格详述
图像详述
优化CSS样式表代码
CSS元素div ul dl dt ol简释
CSS元素的class与ID命名常用关键字
DIV布局SEO的影响
CSS中的相对定位与绝对定位
CSS选择符
CSS特殊选择符伪类的应用技巧
常用的CSS知识

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-03-01   浏览: 1406 ::
收藏到网摘: 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

登陆 | 还没注册?