Préprocesseur CSS
SCSS, Less et Stylus en CSS
Ce préprocesseur CSS lit les règles imbriquées, les variables et les mixins, puis écrit le CSS à plat que le navigateur comprend. Donc vous compilez du SCSS en CSS, ou du Less en CSS, ou vous prenez du CSS pur dans l'autre sens. Le travail tourne dans votre navigateur, et nous ne téléversons rien.
- GratuitPrix
- Les deux sensDirections
- AucuneInscription
- AucuneEnvois
Préprocesseur CSS
Convertissez SCSS, Less ou Stylus en CSS pur, ou ramenez une feuille à plat vers l'imbrication
Prêt. Collez une feuille de styles, ou pressez un des boutons d'exemple.
Ce que fait un préprocesseur CSS
Une feuille de styles avec de l'imbrication n'est pas du CSS valide. Le navigateur abandonne la règle entière et ne dit rien. Par conséquent, ce préprocesseur CSS aplatit l'imbrication, remplace les variables par leurs valeurs et écrit le CSS à plat qu'un navigateur peut lire.
D'un seul collage reviennent trois choses. D'abord le CSS compilé lui-même, prêt à coller dans un fichier. Ensuite une liste des variables et des mixins trouvés, avec la valeur que chacun porte. Enfin un panneau de notes qui nomme tout ce que le compilateur a dû décider seul.
Ce dernier panneau compte plus qu'il n'y paraît. Une supposition silencieuse dans du CSS compilé est une mise en page cassée deux écrans plus loin. Donc chaque hypothèse est imprimée à côté de la sortie plutôt qu'enterrée dedans.
Le convertisseur travaille aussi à l'envers. Parce qu'un fichier à plat est difficile à garder en ordre, il peut regrouper du CSS ordinaire en SCSS ou Less imbriqué, avec les valeurs communes sorties comme variables. Vous n'installez rien et vous n'envoyez rien.
Comment un préprocesseur compile vers du CSS
Le travail se fait en trois passes. D'abord, le lecteur transforme la source en une liste de règles, chacune avec un sélecteur, un bloc et une profondeur. Ensuite une deuxième passe relie les sélecteurs imbriqués à leurs parents. Enfin un écrivain imprime les règles à plat dans l'ordre.
Relier les sélecteurs suit les règles de sélecteurs que le navigateur utilise lui-même. Une règle imbriquée une fois devient un sélecteur descendant. Une règle écrite avec une esperluette garde son parent attaché, et c'est ainsi qu'on construit un état hover et une classe modificatrice.

Les variables sont le deuxième travail. Parce que SCSS et Less permettent tous deux qu'un nom tienne lieu de valeur, le compilateur cherche chaque nom qu'il rencontre et écrit la valeur à sa place. Les variables Sass commencent par un signe dollar, et les variables Less par un arobase, donc le lecteur les distingue au premier caractère.
L'écrivain ne touche jamais à une API du navigateur et jamais au réseau. Donc la page fonctionne hors ligne. Elle fonctionne aussi sur un fichier que vous préférez ne pas coller dans un compilateur hébergé, comme une feuille de styles qui nomme un produit non annoncé.
SCSS, Less et Stylus côte à côte
Les trois langages s'accordent sur l'idée et diffèrent sur la ponctuation. Donc le compilateur lit les trois et écrit une seule sortie.
Le SCSS garde les accolades et les points-virgules du CSS, et c'est pourquoi il ressemble à du CSS avec des fonctions en plus. Le Less fait de même, et il autorise en plus un appel partiel de mixin sans parenthèses. Le Stylus laisse tomber les accolades, les points-virgules et souvent les deux-points, et s'appuie sur l'indentation à la place.
Parce que les différences sont petites, une seule page peut lire les trois. Le lecteur décide du langage qu'il a sous les yeux en regardant le fichier : un signe dollar pointe vers le SCSS, un arobase devant un nom pointe vers le Less, et une accolade absente pointe vers le Stylus. Quand la source est ambiguë, la page le dit dans le panneau de notes au lieu de deviner.
La sortie est la même dans tous les cas. Donc le navigateur voit une seule feuille de styles à plat, et vous gardez la source dans le langage que votre équipe utilise déjà.
Pourquoi relier les sélecteurs est la partie difficile
Un compilateur qui colle les deux sélecteurs avec une espace rate la plupart des imbrications. Parce qu'une règle imbriquée sous un parent ne devient un descendant que sans esperluette, le lecteur suit la trace du parent à chaque niveau en descendant.
Donc chaque bloc garde le sélecteur complet qu'il imprimera. Une règle tout en haut commence par son propre sélecteur. Ensuite une règle à l'intérieur hérite de celui-là et ajoute le sien, séparés par une espace. Une esperluette remplace l'espace entièrement, et c'est ainsi que l'état hover d'un parent s'attache sans trou.
L'ordre des règles imprimées est le troisième cas. Parce qu'une règle plus tardive de même poids l'emporte, l'écrivain garde l'ordre de la source à chaque niveau. De cette façon la cascade survit à la compilation, et une règle que vous vouliez gagnante gagne encore.
Ce qui compile proprement et ce qui reçoit une note
Un compilateur gagne la confiance en nommant ses propres limites. Par conséquent, le panneau de notes liste chaque construction que le lecteur a traitée d'une façon que vous devriez vérifier.

Les définitions et les inclusions de mixins compilent, parce que les deux langages les définissent dans la source que vous avez collée. Les expressions de garde du Less compilent quand la condition est une comparaison simple. Donc un mixin gardé insère la branche qui correspond.

L'interpolation reçoit une note plus souvent. Parce qu'une valeur construite à partir d'une variable dans une chaîne a besoin de la valeur au moment de la compilation, le lecteur ne peut la résoudre que si la variable est dans le même fichier. Une valeur qui vient d'un import que la page n'a pas reste telle qu'écrite, et la note dit quel nom manquait.
Les imports eux-mêmes reçoivent aussi une note. La page ne peut pas récupérer un autre fichier, puisqu'elle ne touche jamais au réseau. Donc un at-import reste dans la sortie comme un import CSS ordinaire, et le panneau dit que le fichier n'a pas été lu. Cela garde la sortie honnête plutôt que silencieusement fausse.
Le comptage à côté de la sortie fait partie de la même idée. Parce qu'une compilation peut changer la taille d'un fichier dans les deux sens, le panneau indique les règles écrites, les déclarations qu'elles contiennent, et la taille de l'entrée et de la sortie. Donc une feuille de styles qui a grossi après compilation se voit d'un coup d'œil et non après un déploiement.
Sur cette page
- L’outil
- Ce que fait un préprocesseur CSS
- Comment utiliser le convertisseur de préprocesseur CSS
- Pourquoi compiler dans le navigateur
- Obtenir une compilation propre avec n'importe quel préprocesseur CSS
- Sept erreurs glissantes avec un préprocesseur
- Questions sur le préprocesseur CSS
- Des outils qui vont avec celui-ci
Continuer
Comment utiliser le convertisseur de préprocesseur CSS
Quatre étapes, et aucune n'a besoin d'un compte.
- 1
Collez votre feuille de styles
Donc copiez le fichier entier et collez-le dans le bloc de gauche. Un fichier partiel fonctionne aussi, donc un seul composant avec son imbrication suffit pour essayer.
- 2
Choisissez la direction
Choisissez ensuite le langage source. Pour du SCSS vers CSS, prenez SCSS en entrée et CSS en sortie. Parce que la page lit les trois, un fichier mélangé compile quand même.
- 3
Lisez le panneau de notes
Ensuite, vérifiez les notes avant de coller la sortie quelque part. Un nom que le compilateur n'a pas pu résoudre se corrige plus facilement ici que dans un navigateur qui affiche un bloc vide.
- 4
Copiez le CSS
Enfin, prenez la sortie. Le bouton copier met la feuille de styles entière dans votre presse-papiers. Après cela, enregistrez-la à côté du fichier source et liez-la comme vous liez n'importe quelle autre feuille de styles.
Pourquoi compiler dans le navigateur
Cinq raisons pour lesquelles cela bat les façons habituelles d'arriver à du CSS pur.
Pas de chaîne de build
Donc vous évitez l'installation. Un compilateur dans un projet signifie un gestionnaire de paquets, un script et un fichier de configuration. Pour une seule feuille de styles, cela fait beaucoup de pièces mobiles.
Votre source ne part jamais
La compilation tourne dans l'onglet que vous avez déjà ouvert. Par conséquent, une feuille de styles sous contrat reste sur votre machine. Rien n'est téléversé et rien n'est journalisé.
Les deux sens
La plupart des compilateurs ne vont que dans un sens. Parce que cette page regroupe aussi le CSS à plat en imbrication, elle aide quand vous héritez d'une feuille de styles sans fichier source et que vous voulez la ranger.
Vous voyez les hypothèses
Ensuite il y a le panneau de notes. Un outil de build échoue avec un numéro de ligne et rien d'autre. Ici, chaque supposition est nommée en mots clairs à côté de la sortie.
Rien à laisser tourner
Enfin, il n'y a aucun processus de surveillance. Rien ne se reconstruit quand vous enregistrez, et rien ne casse quand vous revenez un mois plus tard. Donc le préprocesseur CSS reste ici jusqu'à ce que vous en ayez besoin.
Obtenir une compilation propre avec n'importe quel préprocesseur CSS
Six habitudes qui gardent la sortie proche de ce que vous attendez.
- Gardez la source entière Donc collez le fichier, pas un fragment, quand une variable est posée tout en haut. Parce que le lecteur cherche un nom là où il a été défini, un fragment auquel manque cette ligne reçoit une note.
- Faites correspondre le langage au fichier Vérifiez ensuite la direction contre le fichier que vous avez copié. Un fichier Less lu comme du SCSS compile quand même, mais les règles d'esperluette se comportent autrement et la sortie peut vous surprendre.
- Évitez de mélanger les deux Un fichier qui contient à la fois une variable dollar et une variable arobase n'est valide dans aucun des deux langages. Donc séparez-le avant de coller, et le panneau de notes reste silencieux.
- Surveillez l'esperluette L'esperluette signifie le sélecteur parent. Par conséquent, une règle qui en contient une dans une media query s'attache au parent en dehors de la requête, ce qui est rarement voulu. Malgré tout, chaque préprocesseur CSS la traite de la même façon, donc la règle voyage entre les fichiers.
- Nommez vos mixins Un mixin appelé par un nom que le lecteur trouve s'insère proprement. Donc gardez les noms de mixin distincts des noms de variable, et la recherche n'aura jamais deux candidats.
- Minifiez en dernier Compilez d'abord et minifiez après, dans cet ordre. Parce qu'un minifieur enlève les commentaires, le lancer avant jette les notes qui expliquent la sortie.
Sept erreurs glissantes avec un préprocesseur
Chacune de ces erreurs semble inoffensive dans la source et fait mal dans le navigateur.
Une imbrication profonde
Cinq niveaux d'imbrication se lisent bien et compilent vers un sélecteur que personne ne peut écraser. Parce que chaque niveau ajoute du poids au sélecteur, une règle plus tardive avec une seule classe perd. Donc gardez l'imbrication à trois niveaux.
Une variable en double
Un nom posé deux fois dans la même portée l'emporte avec la dernière valeur. Ensuite la première moitié du fichier semble ignorer le changement. Le panneau de notes nomme le gagnant pour que vous le voyiez.
Des unités sur une valeur nulle
Zéro pixel et zéro sont le même nombre en CSS. Parce qu'une variable qui contient un zéro nu est plus facile à réutiliser, préférez le zéro simple et enlevez l'unité.
Une sortie de mixin que personne n'a vérifiée
Un mixin qui ajoute un préfixe constructeur écrit chaque ligne dans chaque règle qui l'appelle. Donc un appel dans une boucle multiplie la sortie très vite. Vérifiez la taille compilée, et non la taille de la source.
De l'interpolation dans un sélecteur
Construire un nom de classe à partir d'une variable fonctionne au moment de la compilation. Par conséquent le nom est figé dans le CSS et ne peut pas changer à l'exécution. Un thème qui a besoin des deux états a besoin de deux vraies classes. Donc un préprocesseur CSS est le mauvais endroit pour ce travail.
Importer un partiel deux fois
Deux imports du même partiel écrivent ses règles deux fois. Ensuite la deuxième copie écrase la première, et une correction à un endroit semble ne rien faire.
Oublier la source
Le fichier compilé est ce qui part en production, et ce n'est pas ce que vous éditez. Donc gardez la source dans le dépôt à côté de lui, sinon la prochaine modification part d'un fichier à plat sans imbrication.
Questions sur le préprocesseur CSS
Ce préprocesseur CSS est-il gratuit ?
Oui. Il n'y a pas de compte, pas de limite et pas d'offre payante. Donc vous compilez autant de feuilles de styles que vous voulez.
Ma feuille de styles est-elle envoyée quelque part ?
Non. Parce que le lecteur et l'écrivain tournent tous les deux dans votre navigateur, la source ne quitte jamais votre machine. Par conséquent, une feuille de styles sous contrat reste privée.
Peut-il compiler du SCSS en CSS ?
Oui. Collez le SCSS, choisissez SCSS en entrée et CSS en sortie. Ensuite l'imbrication s'aplatit, les variables se résolvent et les mixins s'insèrent.
Peut-il compiler du Less en CSS ?
Oui. C'est la même page avec Less choisi en entrée. Parce que les deux langages partagent l'idée d'imbrication, seule la ponctuation des variables change.
Lit-il le Stylus ?
Oui. Le Stylus laisse tomber les accolades et les points-virgules et s'appuie sur l'indentation. Donc le lecteur suit l'indentation quand il ne trouve pas d'accolade.
Peut-il reconvertir du CSS en SCSS ?
Oui. Parce que la même page travaille dans les deux sens, elle peut regrouper les règles à plat par leurs sélecteurs communs en imbrication et sortir les valeurs répétées comme variables.
Exécute-t-il mes mixins ?
Il insère un mixin qui est défini dans le fichier que vous avez collé. Un mixin qui vit dans un import que la page ne peut pas lire reste sous forme d'appel et reçoit une note. Donc rien n'est deviné.
Que devient un import ?
Il reste dans la sortie comme un import CSS ordinaire, et le panneau de notes dit que le fichier n'a pas été lu. Parce que la page ne touche jamais au réseau, elle ne peut pas récupérer l'autre fichier.
Comprend-il les variables ?
Oui. Une variable Sass commence par un signe dollar, et une variable Less par un arobase. Donc le lecteur les distingue à ce premier caractère et écrit la valeur à la place.
Minifie-t-il la sortie ?
Il peut le faire. Choisir minifier enlève les commentaires et les espaces inutiles. Malgré tout, compilez d'abord et minifiez après, pour que les notes survivent assez longtemps pour être lues.
La sortie correspondra-t-elle exactement à mon outil de build ?
Elle correspond sur les fonctions courantes : imbrication, variables, mixins, extends et gardes simples. Une construction que votre outil de build gère avec un plugin recevra peut-être une note ici à la place.
Gère-t-il les media queries à l'intérieur d'une règle ?
Oui. Parce que les media queries imbriquées sont remontées au niveau supérieur comme un préprocesseur les remonte, la sortie compilée garde la même cascade.
Prend-il en charge l'esperluette ?
Oui. Une règle écrite avec elle garde son parent attaché, et c'est ainsi qu'on construit un état hover ou une classe modificatrice. Donc le sélecteur compilé se lit comme dans la source.
Puis-je coller seulement une partie d'un fichier ?
Oui, tant que les variables qu'elle utilise sont dans la partie collée. Un nom défini au-dessus du fragment copié ne peut pas être résolu, et la note le dit.
Écrit-il des source maps ?
Non. Une source map renvoie au fichier d'origine par un chemin que seul votre build possède. Comme cette page n'a aucun fichier vers lequel pointer, une carte d'ici induirait en erreur.
Fonctionne-t-il hors ligne ?
Oui. Une fois la page chargée, rien d'autre n'est récupéré. Donc le convertisseur continue de fonctionner sur un portable dans une pièce sans réseau.
Garde-t-il mes commentaires ?
Il garde un commentaire de bloc par défaut et peut le retirer quand vous choisissez minifier. Donc une note d'en-tête survit, et une note qui ne comptait que pendant l'édition non.
Combien de niveaux d'imbrication peut-il lire ?
Il n'y a pas de plafond fixe, et la limite pratique est la vôtre. Une imbrication profonde compile bien et se lit mal. Donc trois niveaux sont une bonne habitude.
Peut-il traiter un gros fichier ?
Oui. Parce que le travail est du traitement de texte brut, une feuille de styles de plusieurs milliers de lignes se compile en bien moins d'une seconde sur un portable ordinaire.
Écrit-il des propriétés personnalisées CSS ?
Il les lit et les écrit comme des déclarations ordinaires. Donc une propriété personnalisée de la source survit à la compilation intacte, et une variable de préprocesseur peut en contenir une.
Et un mixin de préfixes constructeur ?
Il s'insère comme n'importe quel autre mixin, ce qui écrit chaque ligne préfixée dans chaque règle qui l'appelle. Par conséquent, vérifiez la taille compilée plutôt que la taille de la source.
Vérifie-t-il les erreurs ?
Il signale ce qu'il n'a pas pu résoudre au lieu de refuser tout le fichier. Donc vous obtenez une sortie utilisable plus une liste, au lieu d'une erreur et rien d'autre.
Peut-il comparer les deux sens ?
Oui. Compilez un fichier en CSS puis regroupez ce CSS, et une construction avec perte se trahit elle-même. Tout ce qui ne survit pas à l'aller-retour ne servait à rien.
Touche-t-il à mon presse-papiers tout seul ?
Non. La page lit le presse-papiers seulement quand vous collez, et écrit seulement quand vous pressez copier. Donc rien n'est pris ni remplacé sans un clic.
Y a-t-il une limite de taille ?
Pas de limite stricte. Parce que le travail se fait dans votre propre onglet, le plafond est votre machine, et une feuille de styles normale est bien en dessous.
Fonctionne-t-il sur un téléphone ?
Oui. Les blocs s'empilent, et le bouton copier se place sous la sortie. Donc une compilation rapide fonctionne depuis un téléphone quand vous êtes loin de votre machine.
Des outils qui vont avec celui-ci
Quatre pages vers lesquelles le même travail mène souvent.
Minificateur CSS
Réduisez ensuite le fichier compilé avant de le publier. Parce que minifier en dernier garde les notes lisibles, vous compilez ici d'abord et minifiez là-bas après.
Ouvrir l’outil →Convertisseur de couleurs CSS
Vérifiez aussi une couleur que vous avez tapée comme variable. Ensuite vous voyez la même teinte en hex, RGB et HSL avant qu'elle entre dans la feuille de styles.
Ouvrir l’outil →Minificateur HTML
Pour le balisage qui accompagne la feuille de styles, celui-ci enlève les commentaires et les espaces inutiles. Donc les deux fichiers sortent plus propres.
Ouvrir l’outil →Convertisseur PX vers REM
Parce qu'une variable de préprocesseur contient souvent une taille de police, celui-ci convertit les pixels en rem. Donc l'échelle reste cohérente après la compilation.
Ouvrir l’outil →
Compiler maintenant une feuille de styles
Collez le SCSS ou le Less, lisez les notes et repartez avec le CSS à plat. Rien ne quitte votre navigateur, donc une feuille de styles sous contrat reste la vôtre. Tout le travail tient dans un seul collage.