【转载】CSS样式:浏览器之间样式区分
来源:互联网 发布:质量好的女装品牌知乎 编辑:程序博客网 时间:2024/05/29 15:24
按顺序进行:
FF、IE8: background-color:#000000 !imp
IE7: >background-color:#990000 !imp
IE6: background-color:#FFCC00;
====================================================================
参考:
跨浏览器的网页设计一直是让人很头疼的问题,这不只是因为浏览器的版本众多,还有一个重要的原因是相同浏览器的不同时期的版本也会有差异,甚至是在不同操作同台上还会有不同。因此使CSS hack技术进行浏览器区分是实现跨浏览器访问一个好方法。CSS Hack技术有很多,具体可以查看:
本文据说的主要是通过“.”,“>”,“*”,“_”来区分。以下是本人对这四种符号的测试结果:
———————IE6—— IE7——IE8——FF2——FF3— Opera9.5
>property—— Y—— Y—— Y—— N—— N—— N
.property—— Y—— Y—— Y—— N—— N—— N
*property—— Y—— Y—— Y—— N—— N—— N
_property—— Y—— N—— N—— N—— N—— N
我们可以看到>property、.property、*property在各浏览器中的表现是一致的,只有_property在IE6和IE7、IE8中有所区别。另外还要注意的,IE6是不支持!imp
举例:
要对想同的文字在不同浏览器中显示不同的颜色可以使用:
- color:brown !imp
ortant ; /*用于Opera、Firefox2、Firefox3等现代浏览器*/ - >color:green !imp
ortant ; /*IE7、IE8可以识别该规则,因此它覆盖掉了上一条规则*/ - color:red; /*所有浏览器都可以识别,但是以上两条规则有!imp
ortant,所以这条规则被忽视;只有IE6认识并覆盖掉上两条规则*/
color:brown !important; /*用于Opera、Firefox2、Firefox3等现代浏览器*/
>color:green !important; /*IE7、IE8可以识别该规则,因此它覆盖掉了上一条规则*/
color:red; /*所有浏览器都可以识别,但是以上两条规则有!important,所以这条规则被忽视;只有IE6认识并覆盖掉上两条规则*/
因此这就实现了跨浏览器的表现问题。_property和*property也是一样的。对于_property来说,只有IE6才能识别,因此可以用于单独对IE6的设置中。
不过这里要注意书写的顺序:现在浏览器的写法要写在最前面,IE6的写法要写在最后面用于覆盖,其他浏览器写在中间。
大多数人认为,Internet Explorer 6不支持CSS中的!imp
=========================================================
区别不同浏览器,CSS hack写法,从网上看到很多文章,现总结一下,尽量全面一点,备查。
注意下面介绍的这些hack写法仅适用于XHTML1.0。如果没有在HTML最前加上
区别IE6、7与FF/IE8:
background:blue;*background:orange;
那么效果将不一样!此外,这里所说的IE8,不是指IE8的兼容模式,因为IE8的兼容模式其实就是IE7。
IE 6/7:orange
FF/IE8:blue
原理:FF/IE8不支持*开头,而IE6/7都支持。
区别IE6与IE7/IE8/FF:
background:green;_background:blue;
IE7/8/FF:green
IE6:blue
原理:IE6支持下划线"_",IE7、8和firefox均不支持下划线。
区别FF/IE8和IE6/7:
background:orange;+background:green;-background:blue;
或者
background:orange;*background:green!imp
IE6:blue
IE7:green
FF/IE8:orange
原理:IE6能识别-,IE7能识别+,IE8和FF都不能识别+和-
IE8/FF都不识别*,IE7优先识别!imp
关于IE8的hacks:
.test{
color:/*\**/#00f\9; /* IE8 on
color:#00f\9; /* 适用于所有IE版本 */
}
可同时区分IE8、IE7、IE6、Firefox的CSS hacks:
.test{
color:#000; /* Firefox */
color:/*\**/#00f\9; /* IE8 */
*color:#f00; /* IE7 */
_color:#0f0; /* IE6 */
}
- 【转载】CSS样式:浏览器之间样式区分
- css样式判断浏览器
- [ CSS ] 浏览器默认样式!
- css样式表浏览器兼容
- 各种浏览器样式重置 css
- 区分属性attr与样式css
- CSS样式丢失总结(转载)
- 【转载】css定义button样式
- 【CSS】CSS消除浏览器的默认样式
- CSS样式的五种来源及浏览器默认样式
- 针对不同浏览器的css样式
- 兼容主流浏览器的半透明css样式
- css样式兼容不同浏览器问题
- 重设浏览器默认样式base.css
- CSS样式兼容不同浏览器的问题
- css设置浏览器滚动条样式
- css设置浏览器的滚动条样式
- css样式兼容不同浏览器问题解决办法
- 数独游戏--弹出Dialog选择数字后刷新表格
- requests模拟登录百度
- 112.AVAudioSession音频会话(类别选择/音频输出切换)
- SSH和SSM对比总结
- 【转载】解决IE6、IE7、IE8样式不兼容问题
- 【转载】CSS样式:浏览器之间样式区分
- asp.net页面传值测试实例代码(前后台)
- 五种提高 SQL 性能的方法
- 继承的总结
- MS SQL Server查询优化方法(1)
- MS SQL Server查询优化方法(2)
- MS SQL Server查询优化方法(3)
- Windows7下vs2010发布网站
- 发布期间出现的一些问题及解决方法