Pourquoi ajouter des classes atomiques CSS Tailwind au projet ❓
Problème
- Lors de projets avec de nombreux développeurs d'interface utilisateur, commencez à coder les composants à leur manière, chacun déclarant ses propres classes CSS personnalisées, selon les besoins.
Manière traditionnelle
Lorsque nous considérons un problème simple et bien connu consistant à centrer un "div" dans une page, c'est ainsi que nous créons généralement une classe, avec tout le style nécessaire.
<template> <div> <p>output :- </p> <p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173397481225444.jpg" class="lazy" alt="Why add Tailwind CSS Atomic Classes to project ❓"></p> <p>Pros :- </p>
- Developers can add any styling for the classes as they please.
Cons :-
- As project grows, there won't be any uniformed styling for the project.
- It becomes tedious to apply same styles for new modules, as develepoers need to apply them themselves.
- Developer intent is not clear, i.e class name is "center-div" but inner styling can be anything they desire.
Tailwind philosophy
Building complex components from a constrained set of primitive utilities.
- We need to break a component classes from group up with Atomic classes.
<template> <div > <p>Output</p> <p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173397481369954.jpg" class="lazy" alt="Why add Tailwind CSS Atomic Classes to project ❓"></p> <p>What Happened, where are the classes ⁉️</p>
- As you can see from the code above we have used quite a few classes in our "div"
class="box-border absolute flex justify-items-center top-1-2 left-1-2 fill-gray-alpha color-fill max-w-sm"
- Each class is registered in the global application scope, which goes like this
.box-border { box-sizing: border-box; } .absolute { position: absolute; } .flex { display: flex; } .justify-items-center { justify-items: center; } .top-1-2 { top: 50% } .left-40-p { left: 40%; } .max-w-sm { max-width: 24rem; /* 384px */ }
- Étant donné que toutes ces classes sont disponibles dans le cadre global, tout développeur peut les utiliser librement.
Avantages
- Réduit considérablement la taille du bundle CSS.
- Veille à ce que le style des composants soit cohérent au sein de l'équipe.
- Les développeurs peuvent rapidement prototyper leurs idées, avec moins d'efforts pour refaire le même style.
Inconvénients
- Courbe d'apprentissage, chaque développeur doit se familiariser avec les classes déjà existantes.
- Le projet doit conserver une documentation appropriée lors de l'ajout de ces classes déclarées globales pour que d'autres puissent les consommer.
Pièges de Vue JS
:deep() / ::v-deep
- le bain ? du ciblage CSS de Vue JS.
Cours traditionnels
- Le ciblage et l'application du style pour les classes sont très simples
div { ::v-deep .center-div { background-color: red; } }
Cours de Taiwind
- Les développeurs doivent faire preuve de beaucoup de créativité lorsqu'ils ciblent "div"
div { ::v-deep :first-of-type { background-color: red; } }
Comment introduire les classes CSS Tailwind dans votre application
Manière traditionnelle
- on peut facilement les installer avec
Installation du vent arrière
npm install -D tailwindcss npx tailwindcss init
- mais cela installera (c'est-à-dire enregistrera) une pléthore de toutes les classes, dans la portée globale.
Non conventionnel ? chemin
Lorsque votre application dispose déjà d'une bibliothèque CSS existante, il serait idéal de sélectionner les classes dont nous avons besoin et de les ajouter dans un fichier CSS et de l'enregistrer globalement dans l'application.
Dites que votre application souhaite uniquement de la flexibilité dans le style flexbox
-- Obtenez une liste des cours dont vous avez besoin à partir de styles flexibleschoisissez les cours que vous préférez ? supposer ? votre application a besoin et ajoutez-les selon vos besoins.
De cette façon, nous pouvons garder le bundle CSS considérablement petit, mais l'équipe de développement doit avoir un contrôle strict sur les CSS qu'elle applique ?.
/* FlexBox */ .flex { display: flex; } .flex-row { flex-direction: row; } .flex-row-reverse { flex-direction: row-reverse; } .flex-col { flex-direction: column; } .flex-col-reverse { flex-direction: column-reverse; } .flex-wrap { flex-wrap: wrap; } .flex-nowrap { flex-wrap: nowrap; } .grow { flex-grow: 1; } .grow-0 { flex-grow: 0; } .shrink { flex-shrink: 1; } .shrink-0 { flex-shrink: 0; } .justify-normal { justify-content: normal; } .justify-start { justify-content: flex-start; } .justify-end { justify-content: flex-end; } .justify-center { justify-content: center; } .justify-between { justify-content: space-between; } .justify-around { justify-content: space-around; } .justify-evenly { justify-content: space-evenly; } .justify-stretch { justify-content: stretch; } .justify-items-start { justify-items: start; } .justify-items-end { justify-items: end; } .justify-items-center { justify-items: center; } .justify-items-stretch { justify-items: stretch; } .justify-self-auto { justify-self: auto; } .justify-self-start { justify-self: start; } .justify-self-end { justify-self: end; } .justify-self-center { justify-self: center; } .justify-self-stretch { justify-self: stretch } .content-noraml { align-content: normal; } .content-center { align-content: center; } .content-start { align-content: start; } .content-end { align-content: end; } .content-between { align-content: space-between; } .content-around { align-content: space-around; } .content-evenly { align-content: space-evenly; } .content-baseline { align-content: baseline; } .content-stretch { align-content: stretch; } .items-start { align-items: start; } .items-end { align-items: end; } .items-center { align-items: center; } .items-baseline { align-items: baseline; } .items-stretch { align-items: stretch; } // Align Self .self-auto { align-self: auto; } .self-start { align-self: flex-start; } .self-end { align-self: flex-end; } .self-center { align-self: center; } .self-stretch { align-self: stretch; } .self-baseline { align-self: baseline; }
Conclusion
- Utiliser les classes Atomic avec Tailwind comme référence peut
- Réduisez l'empreinte CSS d'un projet.
- Maintenir la cohérence du style dans toute l'application.
- Augmente la vitesse du développeur, avec un prototypage rapide. ?
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











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

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

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

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

L'achat ou la construction est un débat classique de la technologie. Construire des choses vous-même peut être moins cher car il n'y a pas d'article de ligne sur votre facture de carte de crédit, mais

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

Pendant un certain temps, iTunes était le grand chien du podcasting, donc si vous avez lié "Abonnez-vous au podcast" pour aimer:

Il existe de nombreuses plates-formes d'analyse pour vous aider à suivre les données des visiteurs et d'utilisation sur vos sites. Peut-être plus particulièrement Google Analytics, qui est largement utilisé
