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
In diesem Artikel werden hauptsächlich die Stilat...
Das Anzeigen und Interpretieren von Informationen...
Bei der Installation von tortoiseGit gab es immer...
Streng geprüfte Attribute Das offizielle Dokument...
Unter den Anforderungen des heutigen responsiven ...
Die Ursache liegt darin, dass der Prozess zu eine...
1. Gehen Sie zunächst auf die offizielle Website,...
In diesem Artikel wird der spezifische Code des j...
Wenn Ihr DOCTYPE wie folgt ist: Code kopieren Der ...
In diesem Artikel wird hauptsächlich erläutert, w...
Details zur MySQL-Triggersyntax: Ein Trigger ist ...
Die übliche Nginx-Konfiguration ermöglicht domäne...
Was soll ich tun, wenn MySQL keine Verbindung zum...
Tutorial zur Installation und Kennworteinstellung...
Inhaltsverzeichnis Klassisches Beispiel für einen...