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. Requisiten Übergeordnetes E...
Inhaltsverzeichnis 1. Wechseln Sie zwischen Produ...
Inhaltsverzeichnis verifizieren: Kombiniert mit d...
Einen Fehler melden Der Apache\Nginx-Dienst wurde...
1. Übersicht über Inner Join-Abfragen Der Inner J...
Inhaltsverzeichnis 1. Einführung in grundlegende ...
1. Unlink-Funktion Bei Hardlinks wird mit „unlink...
<br />Navigation bezieht sich nicht nur auf ...
Inhaltsverzeichnis 1. Was ist vuex 2. Installatio...
Mit den MySQL-Funktionen CAST() und CONVERT() kön...
Inhaltsverzeichnis 1. Komponenten mit Funktionen ...
Vorwort Aus beruflichen Gründen musste ich kürzli...
Inhaltsverzeichnis Anforderung: Abfrage laufender...
23. April 2020: Heute können Sie mit Ubuntu 20.04...
#!/bin/bash #SVN herunterladen yum -y installiere...