为不同的浏览器载入不同CSS的二种方法CSS Browser Selector
2006-12-25 16:27
316 查看
由于各浏览器(IE、gecko、opera......)对CSS的渲染方式都有所不同,造成显示效果不同,
所以可通过对其载入不同CSS的方法来解决,下面介绍下二种方法来实现,
不一定很实用,难的玩一把。
以上代码运行的结果,在IE中是灰色,Opera中是紫红,Firefox中是蓝色
在IE7以前版本还可采用CSS2的属性选择符来区别,不幸的是IE7开始已能识别。
本文章由forestgan于15-Oct-2006发表
此脚本能区别更多的浏览器,具体使用方法可看脚本原作者网站 。
演示地址
所以可通过对其载入不同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; }();
此脚本能区别更多的浏览器,具体使用方法可看脚本原作者网站 。
演示地址
相关文章推荐
- 为不同的浏览器载入不同CSS的二种方法
- 让css在不同浏览器下正常运行的方法——使用条件注释
- 记录下遮罩的方法 css不同浏览器下的 透明 设计
- 针对不同浏览器获取到css文件里相关属性的两种方法
- js调用css的问题,适应不同浏览器对ID的调用方法
- Responsive design 根据浏览器大小应用不同css的方法
- CSS Browser Selector — CSS浏览器选择器
- css在各浏览器不同处理方法
- CSS针对不同的浏览器的适应方法
- DIV+CSS浏览器兼容方法的总结(下)
- 浏览器对加载js文件和css文件有什么不同?一个面试题目
- THINKPHP载入CSS和JS的方法
- html\css\js-dom在不同主流浏览器的兼容问题
- Ajax清除浏览器js、css、图片缓存的方法
- 有关不同浏览器不同版本号的css以及js计算高度的问题
- 在firefox与IE下DIV+CSS Padding效果不同的解决方法
- 判断IE6 CSS 通过判断浏览器类型而加载不同的css样式
- 浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
- IE和Firefox浏览器CSS网页布局不同点
- jquery 不同浏览器判断颜色值的方法