Inhaltsverzeichnis
Was ist CSS-Hack?
CSS-interner Hack
选择器hack
HTML头部引用
书写顺序

CSS-Hack

Feb 10, 2017 pm 03:26 PM

Ich war immer sehr engstirnig und voreingenommen gegenüber CSS-Hacks. Ich hatte das Gefühl, dass diese „bösen Methoden“ nicht in gut geschriebenem Code verwendet werden sollten. Allerdings bereitete mir ein kleines Problem in der letzten Produktveröffentlichung Kopfschmerzen Nach langer Überprüfung der Informationen stellte sich heraus, dass es mit CSS-Hack leicht zu lösen ist, aber ich muss es akzeptieren. Sie müssen diese Tools verwenden, um mit dem magischen IE umzugehen.

Was ist CSS-Hack?

Da unterschiedliche Browser oder sogar unterschiedliche Versionen desselben Browsers unterschiedliche Verständnisse der CSS-Analyse haben, was zu inkonsistenten Auswirkungen auf die generierten Seiten führt, die für unterschiedliche Browser CSS geschrieben werden Code heißt CSS-Hack.

Es gibt drei häufig verwendete CSS-Hacks: interne CSS-Hacks, Selektor-Hacks und HTML-Header-Referenzen, von denen der erste am häufigsten verwendet wird.

CSS-interner Hack

Das seriöse CSS ist so geschrieben

nbsp;html>
    
        <title>Test</title>
        <style>
            .test            {
                background-color:green;
            }
        </style>
    
    
        <p></p>
    
Nach dem Login kopieren


Solcher Code ist für alle derzeit gängigen Browser geeignet Es funktioniert alles und das Ergebnis sollte so aussehen

CSS hack

Aber einige gängige Schreibmethoden wie diese sind in CSS3 üblich

/*Mozilla内核浏览器:firefox3.5+*/
  -moz-transform: rotate | scale | skew | translate ; /*Webkit内核浏览器:Safari and Chrome*/
  -webkit-transform: rotate | scale | skew | translate ; /*Opera*/
  -o-transform: rotate | scale | skew | translate ; /*IE9*/
  -ms-transform: rotate | scale | skew | translate ; /*W3C标准*/
  transform: rotate | scale | skew | translate ;
Nach dem Login kopieren


Wenn es keine Kommentare gäbe, würde ich es auf den ersten Blick für lächerlich halten, aber diese Art von Code funktioniert einwandfrei! Diese Art von Code ist wirklich einfach zu verwenden. Der aktuelle CSS3-Standard ist nicht einheitlich. Einige implementieren ihn sogar, andere nicht, um die Unterstützung für einen bestimmten Browser anzuzeigen Die Grundprinzipien interner CSS-Hacks sind einfach und leicht zu verstehen, aber der eigentliche CSS-Hack ist weit mehr, denn es gibt den unsterblichen IE6 und seine verschiedenen seltsamen Bruderversionen.

Die CSS-interne Hack-Syntax ist wie dieser Selektor{?property:value?;}. Natürlich gibt es auch diesen

*background-color:green;
Nach dem Login kopieren


Das Hinzufügen eines „*“ vor dem Attribut wird nur auf IE6 und 7 wirksam. Andere Versionen von IE und moderne Browser ignorieren diese Anweisung (keine Besonderheit). Anweisungen) , alle Hacks in diesem Artikel beziehen sich auf die Wirkung von Dokumenten, die DOCTYPE deklarieren)

-background-color:green;
Nach dem Login kopieren


Vor dem Attribut steht ein „-“, das ist wird nur von IE6 erkannt, und einige werden von IE6 erkannt. Der folgende Hack

background-color:green!important;
Nach dem Login kopieren


ist eine Möglichkeit, „!important“ nach dem Attributwert hinzuzufügen. Nur IE6 kann nicht erkennen Es kann auch von anderen IE-Versionen und modernen Browsern erkannt werden. Es gibt „+“, „.

  IE6 IE7 IE8 IE9 IE10 现代浏览器
* CSS-Hack CSS-Hack        
+   CSS-Hack        
- CSS-Hack          
!important   CSS-Hack CSS-Hack CSS-Hack CSS-Hack CSS-Hack
\9 CSS-Hack CSS-Hack CSS-Hack CSS-Hack CSS-Hack  
\0     CSS-Hack CSS-Hack CSS-Hack  
\9\0       CSS-Hack CSS-Hack  

这样就清楚多了吧。如果只想给上面的test p在IE访问的时候加绿色背景,就可以这么写

background-color:green\9;
Nach dem Login kopieren


如果想IE6红色,IE7绿色,其它黄色(当然没人这么无聊)就可以这么写

background-color:green;
+background-color:green;
_background-color:green;
Nach dem Login kopieren


选择器hack

选择器hanck主要是针对IE浏览器,其实并不怎么常用,语法是这样的: selector{ sRules }

  IE6 IE7 IE8 IE9 IE10 现代浏览器
*html CSS-Hack          
*+html   CSS-Hack        
:root       CSS-Hack    

针对IE9的hack可以这么写

:root .test{
    background-color:green;
}
Nach dem Login kopieren


HTML头部引用

HTML头部引用就比较特殊了,类似于程序语句,只能使用在HTML文件里,而不能在CSS文件中使用,并且只有在IE浏览器下才能执行,这个代码在非IE浏览下非单不是执行该条件下的定义,而是当做注释视而不见。

<link><link><link>
Nach dem Login kopieren


lte:就是Less than or equal to的简写,也就是小于或等于的意思。

lt :就是Less than的简写,也就是小于的意思。

gte:就是Greater than or equal to的简写,也就是大于或等于的意思。

gt :就是Greater than的简写,也就是大于的意思。

! :就是不等于的意思,跟javascript里的不等于判断符相同。

书写顺序

看看,看看,这么多姿势,那么一个效果,好多种写法,什么顺序写才能保证各个浏览器都得到希望的效果呢?因为CSS只要是同一级别,出现重复属性设置,后出现的会覆盖前面出现的,所以在书写的时候一般把识别能力强的写前面,看个例子

_background-color:red;
background-color:green;
Nach dem Login kopieren


如果希望p在IE6上是红色,其它是绿色,上面的写法可不可以呢?试一下发现所有浏览器上都是绿色,因为在IE6解析的时候,第一句能够识别,背景设为红色,但是第二句所有浏览器都识别,IE6也不例外,背景颜色又被设为绿色,所以得反过来写

background-color:green;
_background-color:red;
Nach dem Login kopieren


总结出的规律就是:先一般,再特殊。有兴趣的同学可以试试试试下面CSS,看看和你想的效果是否一样

background-color:blue; /*所有浏览器*/background-color:red\9;/*所有的ie*/background-color:yellow\0; /* ie8+*/+background-color:pink; /*+ ie7*/
Nach dem Login kopieren

更多CSS hack 相关文章请关注PHP中文网!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Es ist aus! Herzlichen Glückwunsch an das Vue -Team, dass es eine massive Anstrengung war und lange kommt. Alle neuen Dokumente auch.

Aufbau einer Ethereum -App mit Redwood.js und Fauna Aufbau einer Ethereum -App mit Redwood.js und Fauna Mar 28, 2025 am 09:18 AM

Mit dem jüngsten Aufstieg von Bitcoins Preis über 20.000 USD und kürzlich von 30.000, dachte ich, es lohnt

Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Können Sie gültige CSS -Eigenschaftswerte aus dem Browser erhalten? Apr 02, 2025 pm 06:17 PM

Ich ließ jemanden mit dieser sehr legitimen Frage einschreiben. Lea hat gerade darüber gebloggt, wie Sie gültige CSS -Eigenschaften selbst aus dem Browser erhalten können. Das ist so.

Ein bisschen auf CI/CD Ein bisschen auf CI/CD Apr 02, 2025 pm 06:21 PM

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Gestapelte Karten mit klebriger Positionierung und einem Schuss Sass Apr 03, 2025 am 10:30 AM

Neulich habe ich dieses besonders schöne Stück von der Website von Corey Ginnivan entdeckt, auf der eine Sammlung von Karten aufeinander stapelt.

Verwenden von Markdown und Lokalisierung im WordPress -Block -Editor Verwenden von Markdown und Lokalisierung im WordPress -Block -Editor Apr 02, 2025 am 04:27 AM

Wenn wir dem Benutzer direkt im WordPress -Editor Dokumentation anzeigen müssen, wie können Sie dies am besten tun?

Vergleich von Browsern für reaktionsschnelles Design Vergleich von Browsern für reaktionsschnelles Design Apr 02, 2025 pm 06:25 PM

Es gibt eine Reihe dieser Desktop -Apps, in denen das Ziel Ihre Website gleichzeitig in verschiedenen Dimensionen angezeigt wird. So können Sie zum Beispiel schreiben

Warum werden die lila abgeschnittenen Bereiche im Flex -Layout fälschlicherweise als 'Überlaufraum' betrachtet? Warum werden die lila abgeschnittenen Bereiche im Flex -Layout fälschlicherweise als 'Überlaufraum' betrachtet? Apr 05, 2025 pm 05:51 PM

Fragen zu lila Schrägstrichen in Flex -Layouts Bei der Verwendung von Flex -Layouts können Sie auf einige verwirrende Phänomene stoßen, wie beispielsweise in den Entwicklerwerkzeugen (D ...

See all articles