BEM ist ein komponentenbasierter Ansatz zur Webentwicklung. Die Idee besteht darin, die Benutzeroberfläche in unabhängige Blöcke zu unterteilen, wodurch die Entwicklung komplexer Benutzeroberflächen einfacher und schneller wird und vorhandener Code ohne Kopieren und Einfügen wiederverwendet werden kann. BEM besteht aus Block, Element und Modifikator. Um die Beziehung zwischen den Elementen zu erweitern, werden im Selektor folgende Konnektoren verwendet:
Beispiel: Blockname_Modifikatorname Blockname__Elementname-Modifikatorname Blockname_Modifikatorname - Modifikatorwert Blockname__Elementname--Modifikatorname--Modifikatorwert Grundlegende Konzepte Block Der Codeausschnitt kann wiederverwendet werden und dieser Code ist nicht von anderen Komponenten abhängig, d. h., Block kann verwendet werden. Blöcke können beliebig tief ineinander verschachtelt werden.
Element Das Element ist ein Teil des Blocks und hat keine unabhängige Existenz. Jedes Element ist semantisch an einen Block gebunden. Merkmale:
Modifikator Modifikator ist ein Tag auf einem Block oder Element. Verwenden Sie sie, um Stil, Verhalten oder Status zu ändern. Der Konnektor für Blöcke oder Elemente ist '--'. Anwendung Positionierung eines Blocks relativ zu anderen Blöcken Der beste Ansatz besteht darin, eine Mischung aus Blöcken und Elementen zu verwenden. Lösen Sie das Problem, dass Rand und Position für den Block nicht festgelegt werden können. Beispiel: <body class="Seite"> <!-- Kopfzeile und Navigation--> <header class="header page__header">...</header> <!-- Fußzeile --> <footer class="footer page__footer">...</footer> </body> .page__header { Polsterung: 20px; } .page__footer { Polsterung: 50px; } Positionierung von Elementen innerhalb eines Blocks Die Verschachtelung wird durch die Erstellung zusätzlicher untergeordneter Blockelemente erreicht. Beispiel: <body class="Seite"> <div Klasse="page__inner"> <!-- Kopfzeile und Navigation--> <header class="header">...</header> <!-- Fußzeile --> <footer class="footer">...</footer> </div> </body> .page__inner { Rand rechts: automatisch; Rand links: automatisch; Breite: 960px; } Über die Namensgebung Selektornamen müssen die BEM-Entität, die sie darstellen, vollständig und genau beschreiben. Beispiel: .Taste {} .button__icon {} .button__text {} .button_theme_islands {} Wir können direkt anweisen, dass es sich um ein Blockelement handelt. Verwenden Sie es in HTML wie: <button Klasse="button button_theme_inseln"> <span class="button__icon"></span> <span class="button__text">…</span> </button> Das folgende CSS macht es uns schwer, dieselbe Beurteilung vorzunehmen: .Taste {} .Symbol {} .text {} .theme_islands {} Ich habe die BEM-Spezifikation in mein Git-Projekt miniui übernommen und BEM mit Sass implementiert. Wenn Sie interessiert sind, können Sie es sich ansehen: https://github.com/banyaner/miniui Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. |
>>: JavaScript-Sandbox-Erkundung
Inhaltsverzeichnis 1. Einführung in das Verbindun...
Inhaltsverzeichnis Erste Schritte mit MySQL MySQL...
Dieser Artikel stellt ein Beispiel für die Verwen...
Problem 1: Baidu Map verwendet gekachelte Bilder ...
# Die folgenden Beispiele gelten für die x64-Bit-...
Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...
Aktualisierung der Ereignisantwort: Aktualisierun...
Originaltext: http://www.planabc.net/2008/08/05/u...
Der Link-In-Stil besteht darin, alle Stile in ein...
1. Einleitung Vor ein paar Tagen bin ich bei der ...
Nichtorthogonale Ränder Wenn ein Rand verwendet w...
Abfrage des aktuellen Datums AKTUELLES DATUM AUSW...
Erstellen eines Vue 3.x-Projekts npm init @vitejs...
Bei der Verwendung von MySQL sortieren und fragen...
<br /> Die Zugriffsgeschwindigkeit einer Web...