Heim  >  Artikel  >  Web-Frontend  >  Regeln zum Überschreiben des CSS-Stils

Regeln zum Überschreiben des CSS-Stils

不言
不言Original
2018-06-12 15:51:042462Durchsuche

Der folgende Artikel vermittelt Ihnen ein umfassendes Verständnis der CSS-Stilabdeckungsregeln. Der Inhalt ist ziemlich gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz verwenden.

Jeder weiß, dass der vollständige Name von CSS „Cascading Style Sheet“ lautet, aber es wird geschätzt, dass viele Menschen die Bedeutung des Wortes „Cascading“ nicht kennen. Tatsächlich bezieht sich „Kaskadierung“ auf die Überlagerung von Stilen. Wenn ein Element mit mehreren Stilen angewendet wird und es Stilattribute mit demselben Namen gibt, muss der Browser einen Attributwert daraus auswählen. Style Override (dieser Name ist beliebter) folgt bestimmten Regeln. Ich hatte diese Regel vorher immer vage verstanden, aber erst als ich heutzutage „CSS: The Missing Manual“ las, wurde es plötzlich klar. Nachfolgend finden Sie einige meiner Studiennotizen.

Zunächst muss klargestellt werden, dass in vielen Situationen ein Element mit mehreren Stilen angewendet werden muss. Die Regeln für die Stilabdeckung müssen auch entsprechend den verschiedenen Situationen festgelegt werden folgt.

Regel 1: Wenn aufgrund der Vererbung ein Stilkonflikt auftritt, gewinnt der nächste Vorfahre.

Der Vererbungsmechanismus von CSS ermöglicht es Elementen, Stile von den Vorgängerelementen zu erben, die es enthalten:

<html>
<head>
<title>rule 1</title>
<style>
body {color:black;}   
p {color:blue;}   
</style>
</head>
<body>
    <p>welcome to <strong>gaodayue的网络日志</strong></p>
</body>
</html>

strong erbt jeweils von body und p. Das Farbattribut wird hinzugefügt, aber da p im Vererbungsbaum näher an strong liegt, erbt der Text in strong schließlich die blaue Farbe von p.

Regel 2: Wenn der geerbte Stil mit dem direkt angegebenen Stil in Konflikt steht, gewinnt der direkt angegebene Stil.

Wenn im obigen Beispiel auch der Stil des starken Elements angegeben wird, wie zum Beispiel:

strong {color:red;}

, dann wird gemäß Regel 2 der Text in stark gesetzt schließlich in Rot angezeigt.

Regel 3: Wenn direkt angegebene Stile in Konflikt geraten, gewinnt derjenige mit der höheren Stilgewichtung.

Die Gewichtung des Stils hängt von der Stilauswahl ab. Die Gewichtung ist in der folgenden Tabelle definiert.

CSS-Selektorgewicht

Tag-Selektor 1
Klassenselektor 10
ID-Selektor 100
Inline-Stil 1000
Pseudoelement (: erstes Kind usw.) 1
Pseudoklasse (:link usw.) 10

Wie Sie sehen können, ist die Gewichtung des Inline-Stils>>ID-Selektor>> >Tag-Selektor, außerdem ist das Gewicht der Nachkommen-Selektoren die Summe der einzelnen Gewichte, zum Beispiel ist das Gewicht von „#nav .current a“ 100 + 10 + 1 = 111.

Regel 4: Wenn die Stilgewichte gleich sind, gewinnt letzterer.

Stellen Sie sich die folgende Situation vor

<p
class="byline">Written   
 by <a
class="email"
href="mailto:jean@cosmofarmer.   
 com">Jean   
 Graine de Pomme</a></p>
12 .byline   
 a {color:red;}p   
 .email {color:blue;}

„.byline a“ und „p .email“ geben beide direkt das obige a-Element an und haben beide eine Gewichtung von 11. Gemäß Regel 4 ist die endgültige Anzeige blau.

Da Stylesheets extern oder intern sein können, erinnert uns Regel 4 daran, auf die Reihenfolge zu achten, in der externe Stylesheets eingeführt werden (und die Reihenfolge der 2cdf5bf648cf2f33323966d7f58a7f3f-Elemente) sowie auf externe Stylesheets und interne Stile Die Position, an der die Tabelle angezeigt wird. Im Allgemeinen erscheinen interne Stylesheets nach der Einführung aller externen Stylesheets, normalerweise vor 9c3bca370b5104690d9ef395f2c5f8d1.

Regel 5: !wichtige Stilattribute werden nicht überschrieben.

!important kann als „goldener Finger“ für das Verstoßen gegen die oben genannten vier Regeln angesehen werden, wenn es unbedingt notwendig ist. Wenn Sie ein bestimmtes Stilattribut verwenden und verhindern möchten, dass es überschrieben wird, können Sie nach dem Attributwert !important hinzufügen. Nehmen Sie das Beispiel von Regel 4 als Beispiel: „.byline a {color:red !important;}“ kann erzwingen Der Link wird rot angezeigt. In den meisten Fällen können Stilüberschreibungen auf andere Weise gesteuert werden und !important kann nicht missbraucht werden.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Studium aller hilfreich sein. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

So erreichen Sie eine vertikale und horizontale Zentrierung in CSS

Parsen von CSS-Variablen

Das obige ist der detaillierte Inhalt vonRegeln zum Überschreiben des CSS-Stils. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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