Architecture SASS: une plongée profonde dans le développement modulaire CSS
Cet extrait de JUMP START SASS explore les complexités de l'architecture CSS et comment SASS améliore le processus. Nous examinerons diverses approches architecturales et meilleures pratiques pour construire des feuilles de style évolutives et maintenables.
L'architecture CSS a historiquement été un défi. SASS aborde cela avec des variables, des mixins et d'autres caractéristiques, mais l'approche optimale reste un point de discussion. Les méthodes populaires comprennent les OOCSS, les SMACS, la conception atomique, les ITCS et le BEM, chacun avec des forces et des faiblesses. La meilleure stratégie est souvent un hybride, combinant des éléments de plusieurs systèmes.
Concepts clés:
- SASS AMHANDAND
@import
: Contrairement à CSS@import
, la version de Sass combine plusieurs fichiers pendant la compilation, réduisant les demandes HTTP. - Architecture modulaire avec partiels: décomposer les CSS en unités logiques (partiels, indiqués par un préfixe de soulignement, comme
_buttons.scss
) organisé dans les dossiers. Ceux-ci sont ensuite importés dans un fichier principal de compilation. - CSS Méthodologies architecturales: Explorez les OOCSS, les SMACS, la conception atomique, les ITCS et BEM pour comprendre leurs principes et les adapter à votre projet.
- Caractéristiques SASS: Variables, mixins et fonctions pour la cohérence, la lisibilité et la maintenabilité.
- Considérations futures: Les importations modulaires de Sass 4 offrent un contrôle amélioré et une gestion des espaces de noms.
- Structure de fichiers organisée: Catégrer les styles en dossiers comme
base
,components
etutilities
.
plusieurs fichiers et dossiers:
La division de votre code en plusieurs fichiers est un avantage essentiel des préprocesseurs. SASS permet une organisation granulaire. La règle @import
consolide ces fichiers pendant la compilation dans un seul fichier CSS pour le navigateur.
CSS par rapport aux importations SASS:
CSS @import
utilise la manipulation côté navigateur, encourant des demandes HTTP supplémentaires. SASS @import
gère la compilation, résultant en un seul fichier de sortie. SASS retombe aux importations CSS standard pour les fichiers .css
, http://
ou https://
URL, et url()
fonctions.
Imports et partiels SASS:
Les importations SASS (.sass
ou .scss
) sont compilées dans le fichier principal. Les partiels (noms de fichiers commençant par _
) ne sont pas compilés indépendamment mais sont importés dans d'autres fichiers. Les extensions peuvent être omises dans les importations pour la simplicité.
Exemple de structure de répertoire SASS:
<code>sass/ ├── config/ │ ├── _colors.scss │ └── _webfonts.scss ├── layout/ │ ├── _navigation.scss │ └── _banner.scss ├── modules/ │ ├── _calendar.scss │ └── _contact.scss └── main.scss</code>
Composants et organisation:
Organisez des partiels dans des dossiers en fonction de la spécificité (par défaut globaux d'abord, puis des modèles, des composants et des remplacements à l'échelle du site). Importez-les dans un fichier maître (main.scss
) dans le même ordre.
OOCSS (CSS orienté objet):
met l'accent sur les modèles de conception granulaires réutilisables dans divers contextes. Principes clés: structure et peau séparées, et conteneur et contenu séparés.
Conception atomique:
organise le CSS en atomes, molécules, organismes, modèles et pages. Fournit une approche structurée de la construction des composants.
bem (bloc, élément, modificateur):
utilise une convention de dénomination (block__element--modifier
) pour créer des blocs réutilisables et indépendants. Fournit un système complet englobant CSS, HTML et JavaScript.
SMACSS (architecture évolutive et modulaire pour CSS):
catégorise CSS en base, mise en page, module, état et thème. Se concentre sur la profondeur de l'applicabilité et le maintien des composants petits et indépendants.
ITCSS (triangle inversé CSS):
organise CSS en fonction de la portée, de la spécificité et de l'explicitation, visualisée comme un triangle inversé. Les couches incluent les paramètres, les outils, les génériques, les éléments, les objets, les composants et les atouts.
MIRIAM'S MIX-N-MATCH:
Une approche flexible combinant des éléments de divers systèmes, priorisant la cascade CSS et utilisant un "système nerveux central SASS" pour la configuration et les outils réutilisables.
importations modulaires dans Sass 4:
Cette fonctionnalité à venir améliore le contrôle et la gestion des espaces de noms, en abordant les conflits mondiaux d'espace de noms. @use
permet d'importer des parties spécifiques de modules et de les faire passer. @forward
facilite le passage des API entre les modules.
Conclusion:
Choisir la bonne architecture SASS dépend des besoins du projet et des préférences d'équipe. Une approche hybride, incorporant les meilleures pratiques de divers systèmes, est souvent la solution la plus efficace. Les importations modulaires de SASS 4 promettent de nouvelles améliorations de la modularité et de la maintenabilité.
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!

Ceci est le 3ème article d'une petite série que nous avons faite sur l'accessibilité. Si vous avez manqué le deuxième article, consultez "Gestion de la mise au point des utilisateurs avec: Focus-visible". Dans

Le CSS Box-Shadow et les propriétés de contour ont gagné le thème. Laissez regarder quelques exemples de la façon dont cela fonctionne dans des thèmes réels et des options que nous devons appliquer ces styles aux blocs et éléments WordPress.

Ce tutoriel montre la création de formulaires JavaScript professionnels à l'aide du cadre Smart Forms (Remarque: non plus disponible). Bien que le cadre lui-même ne soit pas disponible, les principes et techniques restent pertinents pour d'autres constructeurs de formulaires.

Cet article explore les meilleurs scripts de générateur de formulaires PHP disponibles sur le marché Envato, en comparant leurs fonctionnalités, leur flexibilité et leurs design. Avant de plonger dans des options spécifiques, comprenons ce qu'est un constructeur de formulaires PHP et pourquoi vous en utiliseriez un. Un formulaire PHP

Si vous avez récemment commencé à travailler avec GraphQL ou examiné ses avantages et ses inconvénients, vous avez sans aucun doute entendu des choses comme "GraphQL ne prend pas en charge la mise en cache" ou

L'API de transition Svelte fournit un moyen d'animer les composants lorsqu'ils entrent ou quittent le document, y compris les transitions Svelte personnalisées.

Combien de temps passez-vous à concevoir la présentation de contenu pour vos sites Web? Lorsque vous écrivez un nouveau blog ou créez une nouvelle page, pensez-vous à

Dans cet article, nous plongerons dans le monde des barres de défilement. Je sais, ça ne semble pas trop glamour, mais croyez-moi, une page bien conçue va de pair


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

PhpStorm version Mac
Le dernier (2018.2.1) outil de développement intégré PHP professionnel

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

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

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

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),
