recherche
Maisoninterface Webtutoriel CSSConvertir vos unités typographiques avec SASS

SASS: rationalisation des conversions d'unité typographique

Cet article explore comment SASS simplifie les conversions d'unité typographique, éliminant le besoin de calculs manuels. Nous allons construire une fonction SASS qui gère les conversions entre les pixels, les EM, les pourcentages et les points.

Converting Your Typographic Units with Sass

Cet article est une version mise à jour d'une pièce publiée à l'origine le 5 mars 2015.

Historiquement, les développeurs Web se sont souvent appuyés sur des dispositions fixes à base de pixels. La conception réactive a inauguré une approche plus flexible, mais la conversion entre les unités typographiques (pixels, EMS, pourcentages) reste un défi commun. Cela implique souvent des conversions manuelles fastidieuses ou des tableaux de conversion de consultation.

Ce tutoriel montre une fonction SASS pour automatiser ces conversions, gagner du temps et réduire les erreurs.

Prérequis:

Une taille de police par défaut doit être définie dans votre CSS (généralement 16px). Ce tutoriel suppose une valeur par défaut de 16px.

La fonction prendra en charge les pixels (PX), les EM (EM), les pourcentages (%) et les points (PT).

La fonction SASS:

La fonction convert prend trois arguments:

  1. $value: la valeur numérique à convertir.
  2. $currentUnit: L'unité actuelle de la valeur (px, em,%, pt).
  3. $convertUnit: L'unité souhaitée (PX, EM,%, PT).
@function convert($value, $currentUnit, $convertUnit) {
  @if $currentUnit == px {
    @if $convertUnit == em {
      @return $value / 16 + 0em;
    } @else if $convertUnit == % {
      @return percentage($value / 16);
    } @else if $convertUnit == pt {
      @return $value * 1.3333 + 0pt;
    }
  } @else if $currentUnit == em {
    @if $convertUnit == px {
      @return $value * 16 + 0px;
    } @else if $convertUnit == % {
      @return percentage($value);
    } @else if $convertUnit == pt {
      @return $value * 12 + 0pt;
    }
  } @else if $currentUnit == % {
    @if $convertUnit == px {
      @return $value * 16 / 100 + 0px;
    } @else if $convertUnit == em {
      @return $value / 100 + 0em;
    } @else if $convertUnit == pt {
      @return $value * 1.3333 * 16 / 100 + 0pt;
    }
  } @else if $currentUnit == pt {
    @if $convertUnit == px {
      @return $value * 1.3333 + 0px;
    } @else if $convertUnit == em {
      @return $value / 12 + 0em;
    } @else if $convertUnit == % {
      @return percentage($value / 12);
    }
  }
}

Utilisation:

.foo {
  font-size: convert(16, px, em); // Returns 1em
}

.bar {
  font-size: convert(100, %, px); // Returns 16px
}

Extension de la fonction:

Cette fonction peut être encore améliorée en ajoutant:

  • Prise en charge des unités REM.
  • Gestion des erreurs pour les entrées non valides.
  • Paramètres de l'unité par défaut.

Questions fréquemment posées (FAQ):

Cette section aborde les questions courantes concernant les conversions CSS, SASS et Unit typographique. Les réponses sont similaires à l'original, mais reformulé pour plus de clarté et de concision.

  • CSS vs SASS: CSS est une langue de feuille de style; SASS est un préprocesseur qui se compile en CSS, offrant des fonctionnalités telles que des variables et une nidification pour l'amélioration de l'organisation du code et la maintenabilité.
  • Convertir CSS en SASS: Les outils en ligne ou la conversion manuelle peuvent traduire CSS en Sass.
  • Utilisation de SASS dans les projets CSS existants: SASS est compatible avec CSS et peut être progressivement intégré.
  • Compilation SASS à CSS: Un compilateur SASS (comme Dart Sass) est nécessaire pour compiler .scss des fichiers à .css.
  • Avantages du SASS sur CSS: SASS propose des variables, des nidification, des mixins et des fonctions pour une meilleure organisation de code, réutilisabilité et maintenabilité.
  • Unités typographiques dans SASS: Celles-ci incluent px, em, rem, pt et %.
  • Convertir des unités typographiques dans SASS: Utilisez des fonctions SASS intégrées ou créez des fonctions personnalisées comme celle illustrée ci-dessus.
  • Utilisation des fonctions CSS dans SASS: SASS prend en charge toutes les fonctions CSS et ajoute la sienne.
  • en utilisant des variables dans SASS: Déclarer les variables en utilisant $variable-name: value;.
  • Mélanges en sass: blocs de styles réutilisables définis avec @mixin et inclus avec @include.

Cette réponse améliorée fournit une explication plus concise et bien structurée de la fonction SASS, tout en conservant les informations clés et en abordant les FAQ. L'image est incluse comme demandé.

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!

Déclaration
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
Qu'est-ce que CSS Grid?Qu'est-ce que CSS Grid?Apr 30, 2025 pm 03:21 PM

CSS Grid est un outil puissant pour créer des dispositions Web complexes et réactives. Il simplifie la conception, améliore l'accessibilité et offre plus de contrôle que les méthodes plus anciennes.

Qu'est-ce que CSS Flexbox?Qu'est-ce que CSS Flexbox?Apr 30, 2025 pm 03:20 PM

L'article traite de CSS Flexbox, une méthode de mise en page pour l'alignement et la distribution efficaces de l'espace dans les conceptions réactives. Il explique l'utilisation de Flexbox, la compare à la grille CSS et détaille la prise en charge du navigateur.

Comment pouvons-nous rendre notre site Web réactif à l'aide de CSS?Comment pouvons-nous rendre notre site Web réactif à l'aide de CSS?Apr 30, 2025 pm 03:19 PM

L'article traite des techniques de création de sites Web réactifs à l'aide de CSS, y compris des balises de méta de la fenêtre, des grilles flexibles, des médias fluides, des requêtes multimédias et des unités relatives. Il couvre également l'utilisation de la grille CSS et de Flexbox ensemble et recommande le cadre CSS

Que fait la propriété CSS Box-Sizizing?Que fait la propriété CSS Box-Sizizing?Apr 30, 2025 pm 03:18 PM

L'article traite de la propriété CSS-Box-Sizing, qui contrôle comment les dimensions des éléments sont calculées. Il explique des valeurs telles que la boîte de contenu, la boîte de bordure et la boîte de padding, et leur impact sur la conception de la disposition et l'alignement de la forme.

Comment pouvons-nous animer à l'aide de CSS?Comment pouvons-nous animer à l'aide de CSS?Apr 30, 2025 pm 03:17 PM

L'article discute de la création d'animations à l'aide de CSS, de propriétés clés et de combinaison avec JavaScript. Le principal problème est la compatibilité du navigateur.

Pouvons-nous ajouter des transformations 3D à notre projet en utilisant CSS?Pouvons-nous ajouter des transformations 3D à notre projet en utilisant CSS?Apr 30, 2025 pm 03:16 PM

L'article discute de l'utilisation de CSS pour les transformations 3D, les propriétés clés, la compatibilité du navigateur et les considérations de performances pour les projets Web. (Compte de caractère: 159)

Comment pouvons-nous ajouter des gradients dans CSS?Comment pouvons-nous ajouter des gradients dans CSS?Apr 30, 2025 pm 03:15 PM

L'article discute de l'utilisation des gradients CSS (linéaire, radial, répétant) pour améliorer les visuels du site Web, l'ajout de profondeur, de concentration et d'esthétique moderne.

Que sont les pseudo-éléments dans CSS?Que sont les pseudo-éléments dans CSS?Apr 30, 2025 pm 03:14 PM

L'article traite des pseudo-éléments dans CSS, de leur utilisation dans l'amélioration du style HTML et des différences par rapport aux pseudo-classes. Fournit des exemples pratiques.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

MinGW - GNU minimaliste pour Windows

MinGW - GNU minimaliste pour Windows

Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

PhpStorm version Mac

PhpStorm version Mac

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