Mittlerweile scheinen Präprozessoren (wie sass) zum Standard für die Entwicklung von CSS geworden zu sein, genauso wie jQuery vor einigen Jahren der Standard für die Entwicklung von JS war. Der querySelector von JS basiert auf den Selektorideen von jQuery, und CSS-Selektoren basieren auch auf allgemeinen Funktionen wie der Definition von Präprozessorvariablen, der Verschachtelung von Selektoren und der Wiederverwendung von Codeblöcken. In diesem Artikel wird die neue Verwendung von CSS-Selektoren ausführlich vorgestellt.
Variablen
Im Allgemeinen verfügen wir bei der Webentwicklung über eine Reihe von Variablendefinitionsspezifikationen, am Beispiel von sass, wie unten gezeigt
// 颜色定义规范 $color-background : #222 $color-background-d : rgba(0, 0, 0, 0.3) $color-highlight-background : #333 //字体定义规范 $font-size-small : 12px $font-size-medium : 14px $font-size-large : 18px
Die Syntax von CSS-Variablen lautet wie folgt:
【Variablendeklaration】
Variablen muss mit -- beginnen. Beispielsweise bedeutet --example-variable: 20px, dass der Variablen --example-varibale
20px zugewiesen werden. Sie können die Anweisung, die die Variable deklariert, in einem beliebigen Element platzieren kann eingestellt werden auf: root, body oder html
:root{--bgColor:#000;}
Die Variablendeklaration ist wie eine normale Stildeklarationsanweisung, Sie können auch den Inline-Stil
<🎜 verwenden ><body style="--bgColor:#000">
【Variablen verwenden】
Verwenden Sie die Funktion var(), um Variablen zu verwenden. Sie können überall verwendet werden. Beispiel: var(--example-variable) gibt den Wert zurück, der --example-variable entspricht<body style="--bgColor:#000;"> <p style="width: 100px;height: 100px;background-color: var(--bgColor)"></p> </body>
<p style="width: 100px;height: 100px;background-color: var(--bgColor,pink)"></p>
[Hinweis] Die detaillierte Verwendung von CSS Variablen werden hierher verschoben
@apply
Bevor wir @apply vorstellen, stellen wir das Mischmakro @mixin in sass vor, das sich auf einen wiederverwendbaren Codeblock bezieht Zum Beispiel die versteckte Wiederverwendung von allgemeinem Textüberlauf@mixin overflow-ellipsis{ overflow:hidden; text-overflow: ellipsis; white-space: nowrap; }; p { @include overflow-ellipsis; }
:root{ --overflow-ellipsis:{ overflow:hidden; text-overflow: ellipsis; white-space: nowrap; }; } .title{ width:200px; @apply --overflow-ellipsis; }
Benutzerdefinierte Auswahl
Der benutzerdefinierte Selektor wird durch @custom-selector definiert, gefolgt von: -- gefolgt vom Namen des benutzerdefinierten Selektors, gefolgt von den Selektoren, die definiert werden müssen, Vielfache durch Kommas getrennt. Öffnen Sie
@custom-selector :--heading h1, h2, h3, h4, h5, h6;
:--heading{ margin: 0; } h1, h2, h3, h4, h5, h6{ margin: 0; }
Selektorverschachtelung
CSS-Regeln enthalten viele wiederholte Inhaltetable.colortable td { text-align:center; } table.colortable td.c { text-transform:uppercase; } table.colortable td:first-child, table.colortable td:first-child+td { border:1px solid black; } table.colortable th { text-align:center; background:black; color:white; }
table.colortable { & td { text-align:center; &.c { text-transform:uppercase } &:first-child, &:first-child + td { border:1px solid black } } & th { text-align:center; background:black; color:white; } }
.foo { color: red; .bar & { color:blue; } } .foo { color: red; &.bar, .baz { color: blue; } }
.foo { color: red; @nest & > .bar { color: blue; } } //等价于 .foo { color: red; } .foo > .bar { color: blue; } .foo { color: red; @nest .parent & { color: blue; } } //等价于 .foo { color: red; } .parent .foo { color: blue; } .foo { color: red; @nest :not(&) { color: blue; } } //等价于 .foo { color: red; } :not(.foo) { color: blue; } [注意]@nest选择符的两种错误写法如下所示 .foo { color: red; @nest .bar { color: blue; } } .foo { color: red; @nest & .bar, .baz { color: blue; } }
Schließlich
Leider können Variablen außer CSS-Variablen unter dem neuen verwendet werden Version von Chrome Darüber hinaus werden andere neue Verwendungsmöglichkeiten von CSS-Selektoren derzeit nicht von Browsern unterstützt. Das CSSnext-Plug-In im CSS-Postprozessor Postcss kann jedoch alle Probleme lösen Genau wie es auf der offiziellen Website von CSSnext heißt: Beginnen Sie noch heute mit der Verwendung der CSS-Syntax von morgen Verwandte Empfehlungen:
So implementieren Sie das Parsen von CSS-Selektorfeldern
Detaillierte Erklärung des CSS-Selektors Selector
Mit im CSS-Selektor Lösung für Punkt (.)
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der neuen Verwendung von CSS-Selektoren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!