Comprendre la méthodologie des modules CSS
Modules CSS: un outil puissant pour CSS composé
Cet article introduira les modules CSS, un moyen efficace de résoudre les conflits d'espace de noms global CSS et de simplifier la dénomination des composants. Il nécessite un certain processus de configuration et de construction, généralement utilisé comme plug-in pour WebPack ou de navigation, et ne fonctionne pas indépendamment.
Avantages de base:
- Portée locale: Les modules CSS limitent la portée CSS aux composants par défaut par défaut pour éviter les conflits de dénomination globaux.
- dénomination dynamique: Le processus de construction générera un nom de classe dynamique unique, le mappera au style correspondant, réduira les conflits de dénomination et améliorera la modularité.
- Évolutivité: prend en charge la définition des classes globales et l'extension des styles d'autres modules pour améliorer la réutilisabilité du code et la maintenabilité.
Principe de travail:
Les modulesCSS sont implémentés en important des fichiers CSS dans des modules JavaScript tels que les composants React. Il crée un objet qui mappe les noms de classe définis dans le fichier CSS à des noms de classe de classement générés dynamiquement. Ces noms de classe sont utilisés comme chaînes en JavaScript.
par exemple, un fichier CSS simple:
.base { color: deeppink; max-width: 42em; margin: 0 auto; }
Utilisation dans les composants JavaScript:
import styles from './styles.css'; element.innerHTML = `<div class="${styles.base}">CSS Modules真有趣!</div>`;
webpack peut générer après compilation:
<div class="_20WEds96_Ee1ra54-24ePy">CSS Modules真有趣!</div>
._20WEds96_Ee1ra54-24ePy { color: deeppink; max-width: 42em; margin: 0 auto; }
La génération de noms de classe est configurable, mais la clé est qu'elles sont générées dynamiquement, uniques et cartographiques au bon style.
Questions fréquemment posées:
- Le nom de classe est laid: Le nom de classe n'est pas pour le bien de l'esthétique, mais pour l'application des styles, ce n'est donc pas un problème.
- difficulté de débogage: Vous pouvez utiliser la carte source pour le débogage. Parce que la portée du style est claire, le débogage est relativement facile.
- Mauvaise réutilisabilité du style: Les modules CSS sont conçus pour éviter les conflits de style mondial, mais ils peuvent toujours élargir les styles en définissant des classes globales ou
:global()
Mots-clés pour améliorer la réutilisabilité.composes
:global(.clearfix::after) { content: ''; clear: both; display: table; } .base { composes: appearance from '../AnotherModule/styles.css'; }
- Dépensez aux outils de construction: Ceci est similaire à SASS ou POSTCSS, où les étapes de construction sont nécessaires.
débutant:
Des outils de construction tels que WebPack ou Browserify sont nécessaires.
Configuration WebPack:
Ajouter à: webpack.config.js
{ test: /\.css$/, use: [ 'style-loader', { loader: 'css-loader', options: { modules: true } } ] }
: MiniCssExtractPlugin
const MiniCssExtractPlugin = require('mini-css-extract-plugin'); module.exports = { // ... other configurations module: { rules: [ { test: /\.css$/, use: [ MiniCssExtractPlugin.loader, { loader: 'css-loader', options: { modules: true } } ] } ] }, plugins: [ new MiniCssExtractPlugin({ filename: '[name].css' }) ] };
Browserify Configuration (Exemple):
Ajouter le script NPM dans: package.json
{ "scripts": { "build": "browserify -p [ css-modulesify -o dist/main.css ] -o dist/index.js src/index.js" } }
Résumé: Les modules
CSS fournissent une méthode de rédaction CSS durable, modulaire, bien spécialisée et réutilisable, en particulier pour les grands projets.
FAQ:
- Avantages: Évitez les conflits de nom de classe, améliorez la réutilisabilité et la maintenabilité des composants et les combinaisons de style de soutien.
- Implémentation: Configurer WebPack ou Browserify, utilisez l'extension
.module.css
. - Style global: Utiliser
:global()
. - Combinaison de style: Utilisez le mot-clé
composes
. - Compatible avec la compatibilité REACT: .
- Différences par rapport aux CSS traditionnels: Différentes portées sont différentes, les modules CSS traditionnels dans le monde, CSS localement.
- Compatible avec Sass / moins: , nécessitant une configuration supplémentaire.
- débogage: Utiliser la carte source.
- Limitations: Des outils de construction sont requis, une configuration supplémentaire peut être nécessaire pour prendre en charge les requêtes multimédias, etc.
- Rendu côté serveur: Une configuration supplémentaire est requise.
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

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.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à 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)

Sujets chauds











Au début d'un nouveau projet, la compilation SASS se produit en un clin d'œil. Cela se sent bien, surtout quand il est associé à BrowSersync, qui recharge

Essayons de savoir un terme ici: "fournisseur de formulaire statique". Vous apportez votre HTML

Dans cette semaine, le Roundup des nouvelles de la plate-forme, Chrome présente un nouvel attribut pour le chargement, les spécifications d'accessibilité pour les développeurs Web et la BBC Moves

Deux articles ont publié exactement le même jour:

La première partie de cette série en deux parties a expliqué comment nous pouvons obtenir un curseur à deux pouces. Maintenant, nous examinerons un cas multi-tronçon général, mais avec un autre et

C'est moi qui regarde l'élément HTML pour la première fois. J'en ai été conscient depuis un certain temps, mais il ne l'a pas encore pris pour un tour. Il a un peu cool et

Goofonts est un projet parallèle signé par un développeur-femme et un concepteur-mari, tous deux de grands fans de typographie. Nous avons marqué Google

Le chef de document n'est peut-être pas la partie la plus glamour d'un site Web, mais ce qui y va est sans doute tout aussi important pour le succès de votre site Web que son
