


Structuring CSS maintenable avec des méthodologies (comme BEM ou autres)
Jul 14, 2025 am 02:24 AMLa méthodologie CSS telle que BEM est une spécification de dénomination et organisationnelle proposée pour résoudre les problèmes de confusion et de collaboration de style dans de grands projets. Son c?ur réside dans l'amélioration de l'efficacité de la maintenabilité et de la collaboration grace à des noms de classe structurés, notamment: 1. Les noms de classe sont auto-interprétés pour faciliter la collaboration; 2. évitez les conflits de style; 3. Il est plus facile de localiser et de modifier. BEM forme une structure claire nommée via le bloc (composant indépendant), l'élément (élément enfant) et le modificateur (état ou variant), tels que l'élément .block \ _ \ _ - modificateur. D'autres méthodologies telles que SMACSS, OOCSS et ITCSS ont leur propre objectif et conviennent à différentes tailles de projet. Dans les applications réelles, les règles de dénomination doivent être unifiées, les composants doivent être indépendants, les préprocesseurs doivent être utilisés raisonnablement et la surchamance doit être évitée. Le choix de la bonne méthodologie peut améliorer considérablement l'efficacité et la qualité du développement du CSS.
L'écriture de CSS peut sembler simple, mais à mesure que le projet devient plus grand, les feuilles de style peuvent facilement devenir désordonnées et difficiles à entretenir. Surtout lorsque plusieurs personnes collaborent, le nom d'un nom de classe affectera-t-il d'autres pages? Pourquoi les styles sont-ils inexplicablement écrasés? Ces problèmes peuvent en fait être évités grace à une organisation CSS raisonnable. L'utilisation de BEM ou d'autres méthodologies CSS est de résoudre ces problèmes pratiques.

Qu'est-ce que la méthodologie CSS? Pourquoi en avez-vous besoin?
La méthodologie CSS est essentiellement un ensemble de conventions de style de dénomination et de style organisationnel, dans le but de rendre les noms de classe significatifs, prévisibles et réduisent les conflits.

Par exemple, lorsque vous n'utilisez pas de méthodologie, vous pouvez écrire des noms de classe comme .red
ou .title
, mais ces noms sont trop vagues et d'autres ne peuvent pas les comprendre et sont faciles à répéter. Après avoir utilisé BEM, le nom de la classe deviendra une forme comme .product-card__title--featured
, et vous pouvez voir en un coup d'?il dans quel élément il se trouve et s'il y a des changements d'état.
Les principaux avantages sont:

- Les noms de classe sont explicites pour la collaboration
- évitez les conflits de style
- Plus facile à localiser et à modifier
Comment fonctionne BEM?
Le BEM est l'abréviation du modificateur de l'élément de bloc, et sa structure centrale est:
- Bloc : une composante autonome, comme
.menu
ou.button
- élément : un élément enfant appartenant à un bloc, écrit comme
.block__element
, comme.menu__item
- Modificateur : décrit l'état ou la variante du bloc ou de l'élément, écrit comme
.block--modifier
.block__element--modifier
ou.button--primary
Par exemple:
<div class = "card"> <div class = "card__header"> title </div> <div class = "card__body card__body - highlighted"> Contenu ici </div> </div>
Cette structure exprime clairement que la "carte" est un bloc, "en-tête" et "corps" sont ses composants, et "mis en évidence" est un état de corps.
Comparaison des autres méthodologies CSS communes
En plus de BEM, il existe plusieurs méthodologies couramment utilisées, chacune avec ses caractéristiques:
SMACSS (architecture évolutive et modulaire pour CSS)
Divisez CSS en cinq catégories: base, mise en page, module, état et thème, qui conviennent aux grands projets et mettent l'accent sur la structure organisationnelle plut?t que pour nommer les spécifications.OOCSS (CSS orienté objet)
Soulignez le concept d'objet et de styles abstraits dans des objets réutilisables, tels que.btn
et.btn--large
. L'avantage est qu'il a une forte réutilisabilité, mais nécessite certaines capacités d'abstraction.ITCSS (triangle inversé CSS)
Divisez les styles par calque, de commun à spécifique, aidez à contr?ler les priorités du style. Convient aux projets moyens et grands, il peut être utilisé en combinaison avec BEM.
La méthodologie à choisir dépend de la taille du projet et des habitudes d'équipe. Les petits projets ne peuvent utiliser que certaines des idées d'OOCSS, et les projets moyens et grands recommandent des combinaisons BEM ITCSS.
Quelques conseils dans des applications pratiques
Dénomination unifiée, n'ajoutez pas de préfixe et de suffixe au hasard
Par exemple, utilisez le double soulignement__ pour représenter les éléments__
les barres horizontales doubles--
pour représenter les modificateurs. N'inventez pas vous-même des symboles.Pensée composée, essayez de maintenir l'indépendance
Chaque bloc doit exister indépendamment sans compter sur des styles externes. Cela facilite la réutilisation et le test.Plus efficace avec le préprocesseur
Lorsque vous utilisez SCSS ou moins, vous pouvez utiliser la syntaxe imbriquée pour organiser des structures BEM, telles que:.carte { &__titre { taille de police: 1.2EM; } &--petit { taille de police: 0,9em; } }
Il deviendra automatiquement le nom de classe correct après compilation, qui est plus intuitif à écrire.
Ne surnommez pas
Toutes les balises HTML n'ont pas besoin d'ajouter le nom de la classe. Par exemple,<button class="button"></button>
est déjà très clair, il n'est pas nécessaire d'.button__button
.
Fondamentalement, c'est tout. Utilisez bien BEM ou d'autres méthodologies, non pour poursuivre la dénomination parfaite, mais pour rendre le code plus facile à comprendre, à modifier et à étendre. Cela peut sembler un peu long au début, mais une fois que vous avez formé une habitude, vous constaterez que le maintien du CSS est beaucoup plus facile.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

React lui-même ne gère pas directement la concentration ou l'accessibilité, mais fournit des outils pour traiter efficacement ces problèmes. 1. Utilisez des références pour gérer le focus par programmation, tels que le réglage de la mise au point des éléments via UseRef; 2. Utilisez des attributs ARIA pour améliorer l'accessibilité, tels que la définition de la structure et de l'état des composants de l'onglet; 3. Faites attention à la navigation au clavier pour vous assurer que la logique de mise au point dans des composants telles que les bo?tes modales est claire; 4. Essayez d'utiliser des éléments HTML natifs pour réduire la charge de travail et le risque d'erreur d'implémentation personnalisée; 5. React aide l'accessibilité en contr?lant le DOM et en ajoutant des attributs Aria, mais la bonne utilisation dépend toujours des développeurs.

WebAssembly (WASM) isagame-changerforfront-enddeveloperseeekinghigh-performancewebapplications.1.wasmisabinaryinstructionFormatThatrunsatNear-Nativespeed, AmatingLanguagesLikerUst, C, etgotoexeteinthebrowser.2

Server-sideredering (ssr) innext.jsgenerateshtmlONTheServerForEachRequest, ImpromingPerformanceAndSeo.1.SSRISIDEALFORDYNYMICCONTENTTHATCHANGESSFREQUENDEM

Les mises à jour immuables sont cruciales dans la réaction car elle garantit que les modifications d'état peuvent être détectées correctement, déclenchant la rediffusion des composants et évitant les effets secondaires. La modification directe de l'état, tel que push ou affectation, fera que React ne soit pas en mesure de détecter les modifications. La bonne fa?on de le faire est de créer de nouveaux objets au lieu d'anciens objets, tels que la mise à jour d'un tableau ou d'un objet à l'aide de l'opérateur d'extension. Pour les structures imbriquées, vous devez copier la couche par calque et modifier uniquement la partie cible, telles que l'utilisation de plusieurs opérateurs d'extension pour faire face aux attributs profonds. Les opérations communes incluent la mise à jour des éléments du tableau avec des cartes, la suppression des éléments avec des filtres, l'ajout d'éléments avec des tranches ou une expansion. Les bibliothèques d'outils telles que IMMER peuvent simplifier le processus, permettant "apparemment" à modifier l'état d'origine mais à générer de nouvelles copies, mais à augmenter la complexité du projet. Les conseils clés incluent chacun

Les applications frontales devraient définir des en-têtes de sécurité pour améliorer la sécurité, notamment: 1. Configurez les en-têtes de sécurité de base tels que CSP pour empêcher les XSS, les options X-Content-Type pour empêcher la protection de MIME, les anciens filtres à l'ancien HSTS pour forcer HTTPS; 2. Les paramètres CSP devraient éviter d'utiliser des tests de mode de reporting non sécurisés et dangereux; 3. Les en-têtes liés à HTTPS incluent la demande de mise à niveau automatique HSTS et le référentiel de références pour contr?ler le référence; 4. Autres en-têtes recommandés tels que Permis

L'ajout de sites Web Favicon nécessite de préparer des fichiers d'ic?nes, de placer le chemin correct et de les citer. 1. Préparez les ic?nes .ico ou .png de plusieurs size, qui peuvent être générées par des outils en ligne; 2. Mettez Favicon.ico dans le site Web du site Web; 3. Si vous devez personnaliser le chemin d'accès ou prendre en charge plus d'appareils, vous devez ajouter une référence de balise de liaison dans le HTMLhead; 4. Effacez le cache ou utilisez l'outil pour vérifier s'il est efficace.

L'attribut Data- * est utilisé dans HTML pour stocker des données supplémentaires, et ses avantages incluent que les données sont étroitement liées aux éléments et se conforment aux normes HTML5. 1. Lorsque vous l'utilisez, le nom commence par les données -, comme Data-Product-ID; 2. Il est accessible via GetAttribute ou DataSet de JavaScript; 3. Les meilleures pratiques incluent éviter les informations sensibles, la dénomination raisonnable, faire attention aux performances et ne pas remplacer la gestion de l'état.

Pour styliser les SVG à l'aide de CSS, vous devez d'abord intégrer des SVG en ligne dans HTML pour un contr?le fin. 1. En ligne SVG permet à ses éléments internes tels que ou à être sélectionnés directement via CSS et pour appliquer des styles, tandis que le SVG externe ne prend en charge que les styles globaux tels que la largeur et la hauteur ou les filtres. 2. Utilisez une syntaxe CSS régulière telle que .Classe: survolez pour obtenir des effets interactifs, mais utilisez le remplissage au lieu de la couleur pour contr?ler la couleur, et utilisez une course et une largeur de course pour contr?ler le contour. 3. Utilisez des noms de classe pour organiser des styles pour éviter la duplication et prêter attention aux conflits de dénomination et à la gestion de la portée. 4. Le style SVG peut être hérité de la page et peut être réinitialisé via SVG * {Fill: Aucun; trait: aucun;} pour éviter
