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 } } ] }Pour générer un fichier CSS séparé, vous pouvez utiliser
: 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!

L'écosystème React nous offre de nombreuses bibliothèques qui se concentrent sur l'interaction de la glisser et de la chute. Nous avons react-dnd, react-beeufuly-dnd,

Il y a eu des choses merveilleusement interconnectées à propos des logiciels rapides ces derniers temps.

Je ne peux pas dire que j'utilise souvent le clip de fond. Je ne parierai presque presque jamais dans le travail CSS au jour le jour. Mais je me suis souvenu de cela dans un post de Stefan Judis,

L'animation avec des demandes de châssis devrait être facile, mais si vous n'avez pas lu de manière approfondie de la documentation de React, vous rencontrerez probablement quelques choses

Peut-être le moyen le plus simple d'offrir cela à l'utilisateur est un lien qui cible un ID sur l'élément. Tellement comme ...

Écoutez, je ne suis pas un expert GraphQL mais j'aime travailler avec. La façon dont elle expose les données en tant que développeur frontal est assez cool. C'est comme un menu de

Au cours de cette semaine, un Bookmarklet pratique pour inspecter la typographie, en utilisant Await pour bricoler comment les modules JavaScript s'importent, ainsi que Facebook & # 039; S

J'ai récemment remarqué un changement intéressant sur Codepen: sur le plan des stylos sur la page d'accueil, il y a un rectangle avec des coins arrondis se développant dans le dos.


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

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

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

Listes Sec
SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

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

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP