Maison > interface Web > tutoriel CSS > le corps du texte

Comment créer des jetons de typographie pour un système de conception à l'aide des mixins Sass

PHPz
Libérer: 2024-09-05 06:47:02
original
870 Les gens l'ont consulté

How to create typography tokens for a design system using Sass mixins

De nombreux systèmes de conception commencent avec des jetons de conception de base pour des éléments tels que les couleurs et les tailles, qui peuvent être facilement traduits en variables CSS (ou Sass, ou Less, etc.).

// tokens.scss
$primary-text-color: #aaa;
$secondary-text-color: #ccc;

$size-s: 8px;
$size-m: 16px;

// some-component.scss
.some-component {
    color: $primary-text-color;
    padding: $size-s $size-m;

    h4 {
        color: $secondary-text-color;
    }
}
Copier après la connexion

Le prochain ajout logique à votre collection de jetons est celui des polices. Et même si vous pouvez appliquer le modèle ci-dessus aux polices, la plupart des designers que j'ai rencontrés pensent à la typographie dans son ensemble. La police et son poids influencent sa taille et sa hauteur de ligne : c'est un tout.

En d'autres termes, la typographie est traitée comme une classe. C'est un excellent cas d'utilisation pour un mixin Sass (ou Less) (malheureusement, il n'y a actuellement pas d'équivalent en CSS natif).

Voici un exemple :

// tokens.scss
$font-sans-serif: Aria, Helvetica, sans-serif;

$size-s: 8px;
$size-m: 16px;
$size-l: 24px;
$size-xl: 48px;

@mixin heading-sans-serif-l {
    font-family: $font-sans-serif;
    font-size: $size-l;
    font-weight: 700;
    line-height: 1.3;
}

@mixin heading-sans-serif-xl {
    font-family: $font-sans-serif;
    font-size: $size-xl;
    font-weight: 700;
    line-height: 1.4;
}

// some-component.scss
@use "tokens";

.some-component {

    h2 {
        @include tokens.heading-sans-serif-xl;

        padding: $size-l $size-xl;  
    }

    h3 {
        @include tokens.heading-sans-serif-l;

        padding: $size-s $size-m;   
    }   
}
Copier après la connexion

Chaque h2 et h3 au sein de n'importe quel composant avec la classe some-component obtiendra tous les styles définis dans son mixin inclus - font-family, font-size, font-weight, line-height - et nous sommes libres de l'étendre en ajoutant du remplissage (vous importez à partir d'un fichier externe en utilisant @use). Vous pouvez également écraser n'importe quelle valeur de mixage, si nécessaire (ou si vous souhaitez faire trembler les yeux d'un concepteur).

C'est l'approche que j'ai adoptée lors de la création d'un système de conception sur Dictionary.com. Cela a certainement contribué à rationaliser les efforts de refonte de notre page d'accueil (Thesaurus.com également !) et de nos pages de navigation (/browse/light en est l'exemple par excellence), qui ont été lancées plus tôt cette année.

Exploitez les mixins pour créer de puissants éléments de base au sein de votre système de conception.

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!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal