我们都知道浏览器之间是有差异的,很多人在使用XHTML+CSS方式制作网页的时候都曾为此无比头痛。要在这些差异的影响下工作需要很多的技巧,“隐藏CSS”就是其中很重要的一种技巧(甚至是最重要的)。这种技巧的主要思想是,用某些方式对某些浏览器隐藏某些重载的CSS规则。
这篇文章并不是想教你如何使用这种技巧,它面向的是有一定CSS基础的设计开发者,我假定你曾经使用过某种隐藏CSS规则的方法。这里是想把可用的方法与被隐藏规则的浏览器都列出来,方便大家在平时工作时随时查阅。
在这张大表里列出了九种方法,我就称其为“独孤九剑”,希望能帮上你的忙:-D
注:此表格原载 w3development.de。
Meine erste Reaktion nach dem Lesen dieser Liste ist: Mozilla und Opera sind wirklich großartig. Auf der ältesten Version von Opera wird nur eine Regel wirksam. Wenn wir also später über versteckte Regeln sprechen, ignorieren wir grundsätzlich Mozilla und Opera . Nachfolgend sind diese neun „Schwerttechniken“ Bewegungen aufgeführt, wobei auch meine persönlich empfohlenen Verwendungszwecke daneben vermerkt sind. Beachten Sie, dass das, was ich empfehle, möglicherweise nicht unbedingt Ihren Anforderungen entspricht. Bitte lesen Sie vor der Verwendung die obige Tabelle.
<span lang="en" style="FONT-SIZE: 12pt">@import url("global.css")<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"></p></span>
<span lang="en" style="FONT-SIZE: 12pt">@import url("global.css")</span>
Regeln für Browser mit älteren Versionen ausblenden (Versionsnummern unter
5).
<span lang="en" style="FONT-SIZE: 12pt">@import url(global.css)<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"></p></span>
<span lang="en" style="FONT-SIZE: 12pt">@import url(global.css)</span>
Regeln für Browser mit älteren Versionen der
Windows-Plattform ausblenden (Versionsnummern unter 5).
<span lang="en" style="FONT-SIZE: 12pt">@import "global.css"<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"></p></span>
<span lang="en" style="FONT-SIZE: 12pt">@import "global.css"</span>
Regeln für Browser mit älteren Versionen der
Windows-Plattform ausblenden (Versionsnummern unter 5).
<span lang="en" style="FONT-SIZE: 12pt"><link href="global.css" type="text/css" rel="stylesheet" media="all"/> ;<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">
<SPAN lang=en style="FONT-SIZE: 12pt"><link href="global.css" type="text/css" rel="stylesheet" media="all"/></span>
Regeln für
Netscape 4.x ausblenden.
<span lang="en">@media all {<p></p></span>
<span lang="en">... /* </span>需要隐藏的规则<span lang="en"> */<p></p></span>
<span lang="en">}<p></p></span>
NN und IE berücksichtigen, werden nur die Regeln für die Version 4.x ausgeblendet.
<span lang="en" style="FONT-SIZE: 12pt">#anySelector/* */ { color:#f00; }<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"></p></span>
<span lang="en" style="FONT-SIZE: 12pt">#anySelector/* */ { color:#f00; }</span>
Dies ist eine Präzisionslenkrakete. Nur Regeln für
IE5 und darunter ausblenden. Wenn Sie also Regeln für IE5 und IE5.5 separat definieren möchten, dann verlassen Sie sich darauf.
<span lang="en" style="FONT-SIZE: 12pt">p[id] { color: #<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="„False“" hasspace="False" sourcevalue="0" unitname="F">0f</chmetcnv>0;
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><code><span lang="en" style="FONT-SIZE: 12pt">p[id] { color: #<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="0" unitname="F">0f</chmetcnv>0; }</span>
Eine weitere Präzisionslenkrakete. Wenn Ihnen ältere Browser egal sind, können Sie die Regeln nur für
IE
ausblenden. Weitere Informationen zu Attributselektoren finden Sie in der Dokumentation vonW3C .
Kind
<span lang="en" style="FONT-SIZE: 12pt">p>span { color: #<chmetcnv w:st="on" tcsc="0" numbertype="1" negative=" False" hasspace="False" sourcevalue="0" unitname="F">00f</chmetcnv>; }</span>
<span lang="en" style="FONT-SIZE: 12pt">p>span { color: #<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="0" unitname="F">00f</chmetcnv>; }</span>
Im Grunde ist es dasselbe wie oben, außer dass einige Versionen von
IE
auf derMac-Plattform diese Regel unterstützen.
Tantek
<span lang="en">p#tantek {<p></p></span>
<span lang="en"><span style="mso-spacerun: yes"> </span>voice-family: "\"}\""; /* </span>某些浏览器有解析<span lang="en">bug */<p></p></span>
<span lang="en"><span style="mso-spacerun: yes"> </span>voice-family: inherit; /* </span>在这以下的规则都会被忽略<span lang="en"> */<p></p></span>
<span lang="en"><span style="mso-spacerun: yes"> </span>color: #f00;<p></p></span>
<span lang="en">}<p></p></span>
„nicht modern“ Browser-Versteckregeln