简单CSS hack:区分IE6、IE7、IE8、Firefox、Opera2008-09-22 10:57方法一: 跨浏览器的网页设计一直是让人很头疼的问题,这不只是因为浏览器的版本众多,还有一个重要的原因是相同浏览器的不同时期的版本也会有差异,甚至是在不同操作同台上还会有不同。因此使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是不支持!important的,而其他几款浏览器都识别。
举例:
要对想同的文字在不同浏览器中显示不同的颜色可以使用: color:brown !important; /*用于Opera、Firefox2、Firefox3等现代浏览器*/
>color:green !important; /*IE7、IE8可以识别该规则,因此它覆盖掉了上一条规则*/
color:red; /*所有浏览器都可以识别,但是以上两条规则有!important,所以这条规则被忽视;只有IE6认识并覆盖掉上两条规则*/
color:brown !important; /*用于Opera、Firefox2、Firefox3等现代浏览器*/
>color:green !important; /*IE7、IE8可以识别该规则,因此它覆盖掉了上一条规则*/
color:red; /*所有浏览器都可以识别,但是以上两条规则有!important,所以这条规则被忽视;只有IE6认识并覆盖掉上两条规则*/
因此这就实现了跨浏览器的表现问题。_property和*property也是一样的。对于_property来说,只有IE6才能识别,因此可以用于单独对IE6的设置中。
不过这里要注意书写的顺序:现在浏览器的写法要写在最前面,IE6的写法要写在最后面用于覆盖,其他浏览器写在中间。方法二:其实主要是浏览器:IE6/IE7/firefox下,各个对CSS代码的解释有区别,下边转载一篇HACK的文章,相当实用。
区别IE6与FF: background:orange;*background:blue;
区别IE6与IE7: background:green !important;background:blue;
区别IE7与FF: background:orange; *background:green;
区别FF/IE7/IE6: background:orange;*background:green !important;*background:blue;
注:IE都能识别*标准浏览器(如FF)不能识别*
IE6能识别*,但不能识别 !important
IE7能识别*,也能识别!important
FF不能识别*,但能识别!important
另外再补充一个,下划线"_",
IE6支持下划线,IE7和firefox均不支持下划线。(推荐.我这只有这个有效!)
于是大家还可以这样来区分IE6、IE7、firefox
: background:orange;*background:green;_background:blue;
* html p {color:#f00;} 支持 IE6 不支持FF IE7 IE8b
*+html p {color:#f00;} 支持 IE7 IE8b 不支持FF IE6
p {*color:#f00;} 支持 IE7 IE6 不支持FF IE8
注:不管是什么方法,书写的顺序都是firefox的写在前面,IE7的写在中间,IE6的写在后面。
分享到:
相关推荐
在《简单CSShack:区分IE6、IE7、IE8、Firefox、Opera》中,作者介绍了两种主要的方法来针对这些浏览器进行CSS样式区分。 方法一主要依赖于特殊的CSS选择器来区分浏览器。以下是对四种特殊符号的测试结果: 1. `>`...
提供一种简单的方法来进行 css hack。较少的需要更少 v1.7.0 或更高版本 @import " path/to/hack-css.less "// give hack for each selector which you need.class { .only-ie6({ hasLayout: 1; }) .only-ie7 ({ ...
在提供的部分代码中,可以看到一个简单的WebKit Hack示例: ```css @media screen and (-webkit-min-device-pixel-ratio:0) { /* Webkit内的CSS */ .yangshi1 { color: #f00; } .yangshi2 { border: 1px solid...
### CSS Hack 经验分享:常见浏览器兼容性的处理 随着互联网技术的发展,浏览器之间的差异性逐渐成为前端开发者不得不面对的问题之一。特别是在早期的 Web 开发过程中,不同浏览器对 CSS 的支持程度参差不齐,导致...
- 利用“\9”后缀的CSS hack:这是一种比较简单的CSS hack方式,通过在CSS属性值后添加“\9”来为IE浏览器创建特定的规则。IE8可以识别带有“\9”的规则,而其他标准浏览器则会忽略它们。例如,“color:blue\9”...
css hack 是个很有争议的东西,一开始我也很讨厌,因为我觉得可以饶过 css hack,通过另外的方法解决问题。但是,随着工作中的不断实践,改变了我的观点,css hack 虽然不能通过 w3c 标准认证,但适当是使用很有可能...
CSS Hack是针对不同浏览器的兼容性问题而采取的一种解决策略,即在CSS代码中加入不同的标记来让不同的...因此,尽量使用标准的方法来开发,只有在必要时才使用CSS Hack,并且尽量采用简单的解决方案来处理兼容性问题。
【标题】"hack一个简单得要死的CSS框架"指的是egoist-hack,这是一款轻量级、易于理解和使用的CSS框架。它旨在简化前端开发者的工作流程,帮助快速构建具有基本样式的网页项目。 【描述】"hack:一个简单得要死的...
垂直水平居中是 CSS 中一个常见的问题,实现方法有很多种,以下是一种简单的实现方法: HTML 结构:<div class="wrapper"> <div class="content"></div> CSS:.wrapper{position:relative;}.content{background-...
"简单的CSS框架拥有一个markdowny外观基于hack" 这个标题暗示了我们正在讨论一个CSS框架,它的设计灵感来源于Markdown的样式,并且在实现过程中可能使用了一些特殊的技巧或“hack”。Markdown是一种轻量级的标记语言...
在这些解决方案中,条件注释、有条件的类以及特定于IE的CSS hack是三种主要手段。然而,微软宣布IE10将不再支持插件及条件注释,这无疑对开发者提出了新的挑战。 首先,条件注释是IE浏览器的一个特性,通过特殊的...
**CSS Hack**是一种通过添加特定的前缀或语法结构来使某些CSS规则只被特定版本的浏览器解析的技术。这种方式在早期广泛应用于解决IE浏览器的兼容性问题。 - **星号选择器(*):** 这种hack方式可以让CSS规则仅被IE7及...
在标题中提到的CSS Hack是指一种特殊的CSS代码编写技巧,它允许设计师对不同的浏览器输出不同的CSS规则,以达到在不同浏览器中都能正确显示网页布局的目的。该技巧之所以称为“Hack”,是因为其实际上是对CSS规范的...
### CSS Hack 技巧 CSS Hack 是一种技术手段,用于解决不同浏览器之间的兼容性问题。在Web开发过程中,由于各种浏览器对于CSS的支持程度不一,可能会导致页面在不同浏览器下的显示效果存在差异。为了使页面能够正确...
本文将详细介绍针对这些浏览器的最简单CSS Hack技巧。 首先,我们要理解CSS Hack的基本原理:通过添加特定的语法结构,使得某个CSS规则只被目标浏览器识别和应用。在IE6、IE7和FF中,这些技巧通常涉及到选择器的...
为了确保网页在各种浏览器中都能呈现出一致的效果,开发者们发明了一系列被称为“CSS hack”的技巧。本文将详细介绍7个常见的IE hack,帮助你在处理IE兼容性问题时更加得心应手。 #### 一、适用于IE6的hack **1. \...
)智能、创造型布局思维(智慧、完美视觉艺术效果之CSS布局技巧、CSS Hack实践战略),Web技术团队倾情奉献(来自CSS布局与Web标准应用之先驱——闪客帝国的Web应用技术团队,顶尖Web设计师和Web应用开发人员的完整...
css 4.2.7中文手册给大家列举了...还展示了速查总表,列举了一些使用比率较高的常用CSS Hack。 另外,给大家总结了一些使用过程中,遇到的问题和解决办法,并且提供了一些简单的小技巧和经验,希望能为大家带来帮助。