suchen
HeimWeb-FrontendCSS-TutorialBenennungskonvention für CSS-Code

Verwenden Sie Klassenselektoren und verlassen Sie ID-Selektoren.

Die Einzigartigkeit der ID auf einer Seite bedeutet, dass, wenn Sie CSS mit ID als Selektor schreiben, diese nicht wiederverwendet werden kann.

NEC-Sonderzeichen: „-“ Bindestrich

„-“ stellt in dieser Spezifikation nicht die Bedeutung eines Bindestrichs dar.

Es bedeutet nur zwei Bedeutungen: Klassifizierungspräfixtrennzeichen und erweitertes Trennzeichen. Einzelheiten finden Sie in den folgenden spezifischen Regeln.

Kategoriebenennungsmethode: Verwenden Sie einen einzelnen Buchstaben „-“ als Präfix

Layout (Raster) (.g-); (.u-); Funktion (.f-); Status (.z-).

Hinweis: Die Selektoren in Ihren Stilen sollten immer mit den ersten fünf Kategorien beginnen und dann darin abgeleitete Selektoren verwenden.

Wenn diese fünf Kategorien Ihre Anforderungen nicht erfüllen, können Sie eine oder mehrere zusätzliche Kategorien definieren, diese müssen jedoch den Namensregeln entsprechen, denen ein einzelner Buchstabe „-“ vorangestellt ist, also im .x-Format .

Besonderheit: .j- wird ausschließlich für JS zum Abrufen von Knoten verwendet. Bitte verwenden Sie .j- nicht zum Definieren von Stilen.

Nachkommen-Selektorbenennung

Es wird vereinbart, dass ein Klassenselektor, dem kein einzelner Buchstabe „-“ vorangestellt ist und der eine Länge größer oder gleich 2 hat, ein Nachkommen-Selektor ist, wie z : .item befindet sich im M-List-Modul. Für jedes Element ist .text der Textteil im M-List-Modul: .m-list .item{}.m-list .text{}.

Ein semantisches Tag kann auch ein Nachkommenselektor sein, wie zum Beispiel: .m-list li{}.

Klassenselektoren mit nur einem Buchstaben sind nicht zulässig. Der Grund dafür ist im Abschnitt „Erweiterte Klassen für abgeleitete Selektoren von Modulen und Komponenten“ aufgeführt.

Bei Verwendung der Nachkommen-Auswahlmethode müssen Sie nicht berücksichtigen, ob der Name verwendet wurde, da er nur im aktuellen Modul oder in der aktuellen Komponente wirksam wird und derselbe Stilname in verschiedenen Modulen wiederholt werden kann oder Komponenten nutzen, ohne sich gegenseitig zu stören; der Effekt ist besonders deutlich, wenn mehrere Personen zusammenarbeiten oder in Untermodulen zusammenarbeiten!

Der Nachkommenselektor muss die Strukturbaumebene nicht vollständig darstellen und sollte so kurz wie möglich sein.

Hinweis: Verwenden Sie in Seitenlayouts keine Nachkommenselektoren, da die Gefahr einer Kontamination größer ist

/* 这里的.itm和.cnt只在.m-list中有效 */
.m-list{margin:0;padding:0;}
.m-list .itm{margin:1px;padding:1px;}
.m-list .cnt{margin-left:100px;}
/* 这里的.cnt和.num只在.m-page中有效 */
.m-page{height:20px;}
.m-page .cnt{text-align:center;}
.m-page .num{border:1px solid #ddd;}

Namen sollten prägnant und dennoch semantisch sein

/* 反对:表现化的或没有语义的命名 */
.m-abc .green2{}
.g-left2{}
/* 推荐:使用有语义的简短的命名 */
.m-list .wrap2{}
.g-side2{}

Unterschiedliche Klassenbenennung mit derselben Semantik

Methode: Fügen Sie einfach Zahlen oder Buchstaben zur Unterscheidung hinzu (z. B.: .m-list, .m-list2, .m -list3). usw. sind alles Listenmodule, aber es sind völlig unterschiedliche Module).

Andere Beispiele: .f-fw0, .f-fw1, .s-fc0, .s-fc1, .m-logo2, .m-logo3, u-btn, u-btn2 usw.

Die Benennungsmethode für Erweiterungsklassen von Modulen und Komponenten

Wenn A, B, C,... vom gleichen Typ sind und ein ähnliches Erscheinungsbild mit geringen Unterschieden haben, dann die mit dem Die höchste Vorkommensrate unter ihnen ist „Machen Sie es zu einer Basisklasse“, andere machen es zu einer Erweiterung der Basisklasse.

Methode: „-“ Zahlen oder Buchstaben (zum Beispiel: Die erweiterten Klassen von .m-list sind .m-list-1, .m-list-2 usw.).

Ergänzung: Die Basisklasse selbst kann unabhängig verwendet werden (z. B.: class="m-list"), und die erweiterte Klasse muss basierend auf der Basisklasse verwendet werden (z. B.: class="m-") list m-list-2" ).

Wenn Ihre Erweiterungsklasse verschiedene Zustände darstellt, können Sie sie wie folgt benennen: u-btn-dis, u-btn-hov, m-box-sel, m-box-hov usw. und Dann verwenden Sie es wie folgt: class="u-btn u-btn-dis".

Wenn Ihre Website nicht mit Browsern wie IE6 kompatibel ist, kann Ihre Methode zur Statusidentifizierung auch die Methode der unabhängigen Statusklassifizierung (.z-) übernehmen: .u-btn.z-dis, .m- box .z-sel und verwenden Sie es dann wie folgt: class="u-btn z-dis".

Erweiterte Klassen für Nachkommen-Selektoren von Modulen und Komponenten

Manchmal gibt es ähnliche Dinge in Modulen. Wenn Sie sie nicht in Komponenten und Erweiterungen umwandeln, können Sie auch Nachkommen-Selektoren und -Erweiterungen verwenden.

Nachkommenselektor: .m-login .btn{}.

Erweiterungen für Nachkommenselektoren: .m-login .btn-1{}, .m-login .btn-dis{}.

Sie können auch die unabhängige Statusklassifizierungsmethode (.z-) verwenden: .m-login .btn.z-dis{} und sie dann wie folgt verwenden: class="btn z-dis".

Hinweis: Diese Methode wird für Klassenselektoren verwendet. Wenn Sie Tags direkt als Selektoren verwenden, müssen Sie diese Benennungsmethode nicht verwenden.

Hinweis: Um Namenskonventionskonflikte zwischen erweiterten Klassen und großen Klassen von Nachkommenselektoren zu vermeiden, sind einzelne Buchstaben für Nachkommenselektoren nicht zulässig.

Zum Beispiel: .m-list .a{} ist nicht zulässig, da .a, wenn es erweitert werden muss, zu .a-bb wird, was im Widerspruch zur Namenskonvention großer Kategorien steht.

Gruppenselektoren können manchmal Erweiterungsmethoden ersetzen

Obwohl zwei Module desselben Typs sehr ähnlich sind, hofft man manchmal, dass keine Abhängigkeit zwischen ihnen besteht, was bedeutet, dass man sie nicht verwenden möchte Erweiterte Methode, dann können Sie gemeinsame Stile festlegen, indem Sie Selektoren zusammenführen.

Die Voraussetzung für die Verwendung dieser Methode ist, dass derselbe Typ, die gleiche Funktion und das gleiche Erscheinungsbild ähnlich sind und zur einfachen Wartung im gleichen Codebereich geschrieben sind.

  /* 两个元件共性的样式 */
.u-tip1,.u-tip2{}
.u-tip1 .itm,.u-tip2 .itm{}
/* 在分别是两个元件各自的样式 */
/* tip1 */
.u-tip1{}
.u-tip1 .itm{}
/* tip2 */
.u-tip2{}
.u-tip2 .itm{}

Verhindern Sie Verschmutzung und Verschmutzung

Wenn Module oder Komponenten untereinander verschachtelt sind und derselbe Tag-Selektor oder andere Nachkommen-Selektoren verwendet werden, dann Der Selektor im Inneren wird vom gleichen Selektor draußen beeinflusst.

Wenn Ihr Modul oder Ihre Komponente möglicherweise verschachtelt ist oder in anderen Modulen oder Komponenten verschachtelt ist, verwenden Sie Tag-Selektoren mit Vorsicht, verwenden Sie bei Bedarf Klassenselektoren und achten Sie auf die Benennungsmethode. Sie können .m-layer verwenden. Layerxxx-, .m-list2- und .list2xxx-Formulare, um die Verschmutzung von Nachkommenselektoren zu reduzieren.


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
Wohin sollte 'Podcast' -Link abonnieren?Wohin sollte 'Podcast' -Link abonnieren?Apr 16, 2025 pm 12:04 PM

Für eine Weile war iTunes der große Hund im Podcasting. Wenn Sie also "Abonnieren Sie Podcast" verlinkt haben, um zu mögen:

Browser -MotorvielfaltBrowser -MotorvielfaltApr 16, 2025 pm 12:02 PM

Wir haben die Oper verloren, als sie 2013 Chrome gingen. Gleiches Geschäft mit Edge, als es Anfang dieses Jahres auch Chrome ging. Mike Taylor nannte diese Veränderungen a "abnehmend

UX -Überlegungen zur WebfreigabeUX -Überlegungen zur WebfreigabeApr 16, 2025 am 11:59 AM

Von trashigen Clickbait -Websites bis hin zu den meisten August der Veröffentlichungen sind die Teilen von Schaltflächen seit langem im gesamten Web allgegenwärtig. Und doch ist es wohl diese diese

Wöchentliche Plattformnachrichten: Apple bereitet Webkomponenten, progressives HTML-Rendering, selbsthosting kritische Ressourcen bereitWöchentliche Plattformnachrichten: Apple bereitet Webkomponenten, progressives HTML-Rendering, selbsthosting kritische Ressourcen bereitApr 16, 2025 am 11:55 AM

In der Roundup der Woche geht Apple in Webkomponenten, wie Instagram Insta-Loading-Skripte und einige Lebensmittel für das Denken für selbsthosting kritische Ressourcen sind.

Git pathspecs und wie man sie benutztGit pathspecs und wie man sie benutztApr 16, 2025 am 11:53 AM

Als ich die Dokumentation von Git -Befehlen durchschaut hatte, bemerkte ich, dass viele von ihnen eine Option hatten. Ich dachte anfangs, dass dies nur ein war

Ein Farbwähler für ProduktbilderEin Farbwähler für ProduktbilderApr 16, 2025 am 11:49 AM

Klingt ein bisschen wie ein schweres Problem. Ist es nicht? Wir haben oft keine Produktaufnahmen in Tausenden von Farben, sodass wir das mit dem mit umdrehen können. Wir auch nicht

Ein dunkler Modus wechselt mit React und ThemeProviderEin dunkler Modus wechselt mit React und ThemeProviderApr 16, 2025 am 11:46 AM

Ich mag es, wenn Websites eine dunkle Modusoption haben. Der dunkle Modus erleichtert mir das Lesen von Webseiten und hilft meinen Augen, sich entspannter zu fühlen. Viele Websites, einschließlich

Einige praktisch mit dem HTML-DialogelementEinige praktisch mit dem HTML-DialogelementApr 16, 2025 am 11:33 AM

Ich schaue mir das HTML -Element zum ersten Mal an. Ich habe es für eine Weile dessen bewusst, aber Haven ' Es wurde es noch nicht für einen Dreh genommen. Es hat einige ziemlich cool und

See all articles

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)