ForHosting KIT · Images

Hex vers variable CSS

Faites d’une couleur brute une variable CSS réutilisable : #3366ff avec le nom brand-primary devient --brand-primary: #3366ff;, forme abrégée développée et hex en minuscules. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Hex
#3366ff
Nom
brand-primary
Vous obtenez
Valeur
#3366ff
Hex6
3366ff
Hex brut
#3366ff
Nom
--brand-primary

Une propriété personnalisée CSS —aussi appelée variable CSS— est un jeton réutilisable que vous déclarez une fois et que vous interrogez avec var() dans toute une feuille de style, un fichier de thème ou un pipeline de jetons de design.

Ce qu'est une propriété personnalisée CSS et pourquoi envelopper une couleur hex

Les propriétés personnalisées CSS sont des déclarations CSS ordinaires dont les noms commencent par deux tirets. L'hex reste le format d'échange que la plupart des sélecteurs, PDF de charte et fichiers de jetons exportent encore, mais un #3366ff brut n'est pas un contrat de feuille de style : il n'a ni nom, ni préfixe --, ni point-virgule final.

L'envelopper en déclaration d'ident à tirets est une transformation petite et exacte qui échoue pourtant dans les pipelines — dièses manquants, casse mélangée, abréviation à trois chiffres non développée, noms commençant par un chiffre, $variables Sass collées par habitude, ou un wrapper var() là où seul l'ident a sa place. Chacune de ces erreurs produit un CSS presque juste qui échoue ensuite à l'analyse ou en revue de code.

Le résultat est une ligne de définition prête à coller dans :root, une classe de thème ou un tokens.css généré, sans redériver la grammaire dans chaque dépôt.

Où un formateur hex vers variable CSS gagne vraiment sa place

Les dépôts de jetons de design et les pipelines Style Dictionary convertissent des objets de palette structurés en propriétés personnalisées CSS ; un formateur partagé maintient chaque paquet sur la même grammaire de déclaration au lieu de modèles ad hoc qui divergent sur la casse du dièse, l'abréviation ou l'espace après le deux-points. Les bibliothèques de composants et la documentation Storybook peuvent exposer un sélecteur de couleur plus un champ de nom et copier le declaration exact dans des extraits qui correspondent aux feuilles destinées à la production.

Les générateurs de thème qui émettent des blocs :root clairs et sombres ont besoin d'une étape finale qui n'invente jamais un ident à tirets illicite ni n'oublie le point-virgule. Préférez cette capacité lorsque vous avez déjà un jeton hex et un nom choisi et que vous n'avez besoin que de la ligne de définition ; elle ne convertit pas l'hex en HSL, ne résout pas les couleurs CSS nommées telles que rebeccapurple et n'accepte pas l'hex alpha à huit chiffres.

Épinglez la chaîne declaration dans les tests, gardez les noms en kebab-case ou selon la convention maison, et vous obtenez des lignes de propriété personnalisée reproductibles pour systèmes de design, workers en bordure et générateurs de documentation, sans dresser une bibliothèque complète de science de la couleur pour une tâche d'enveloppe.

Documentation Storybook et composants

Laissez les auteurs choisir un hex et un nom de jeton, puis copier le champ declaration exact dans des extraits de code qui correspondent au bloc :root de production.

Générateurs de thèmes et de palettes

Après avoir calculé une rampe hex claire ou sombre, enveloppez chaque arrêt en propriété personnalisée CSS nommée afin que le fichier de thème soit du CSS valide dès la première émission.

Comment envelopper une couleur hex en propriété personnalisée CSS ?

Envoyez hex (3 ou 6 chiffres, # facultatif) et name (avec ou sans --).

Le nom a-t-il besoin d'un -- initial ?

Non. brand-primary et --brand-primary deviennent tous deux --brand-primary. La casse est préservée.

Quels formats hex sont acceptés ?

Couleurs hexadécimales à trois chiffres (#RGB) et à six chiffres (#RRGGBB), avec ou sans # initial. L'abréviation est développée. Les formes alpha (#RGBA, #RRGGBBAA) et les couleurs CSS nommées ne sont pas acceptées.

À quoi ressemble la ligne de définition ?

Toujours --<ident>: #<six chiffres hex minuscules>; avec une espace après le deux-points et un point-virgule final. Exemple : --brand-primary: #3366ff;.

Quels noms de variable sont refusés ?

Le nom doit commencer par une lettre ou un tiret bas, éventuellement précédé d’un trait d’union, et ne contenir que lettres, chiffres, traits d’union et tirets bas. Un nom qui commence par un chiffre ou une variable Sass en $ est refusé plutôt que de produire un CSS cassé.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/color/hex-to-css-var

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/color/hex-to-css-var \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"hex":"#3366ff","name":"brand-primary"}'
{
  "hex": "#3366ff",
  "name": "brand-primary"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "color.hex_to_css_var",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_name_len64
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Les équipes stockent encore les couleurs de marque en codes hex dans Figma, les PDF de charte et les palettes JSON, puis ont besoin d'une seule ligne déterministe à coller dans :root ou un bloc de thème. Cet outil enveloppe une couleur hex validée dans une déclaration de propriété personnalisée nommée : vous choisissez l'identifiant, le solveur normalise l'hex en six chiffres minuscules avec dièse, vérifie que le nom est un ident à tirets licite et renvoie la ligne de définition --name: #rrggbb;. Les codes hex invalides et les identifiants illicites échouent avec invalid_input au lieu d'émettre du CSS qui ne s'analyserait pas. La même logique pure s'exécute gratuitement dans le navigateur et sur l'API, de sorte que les jetons générés ne dérivent pas entre aperçus locaux, intégration continue et feuilles de production.

Ce qu'est une propriété personnalisée CSS et pourquoi envelopper une couleur hex

Vous écrivez --brand-primary: #3366ff; sur :root ou n'importe quel sélecteur, puis vous consommez le jeton avec color: var(--brand-primary) sur boutons, liens et surfaces. Cette source unique de vérité est la façon dont les systèmes de design gardent d'accord un hex issu de Figma, une palette JSON et une feuille de production sans chasser des dizaines de littéraux en dur. Une étape dédiée hex vers variable CSS standardise le contrat : valider la couleur, valider le nom, développer l'abréviation, passer l'hex à six chiffres en minuscules, préserver la casse de l'ident, et émettre une espace après le deux-points plus un point-virgule final.

Contrat d'entrée, règles de validation et ligne de définition

Les espaces entourants sont coupés. En cas de succès, l'hex est toujours renvoyé en #rrggbb minuscule, l'abréviation à trois chiffres est développée (#abc devient #aabbcc) et le nom revient avec le préfixe -- en conservant la casse d'origine des lettres. Le champ principal declaration est la ligne de définition elle-même : --brand-primary: #3366ff;. Envoyez un corps JSON avec deux chaînes obligatoires. hex est la couleur : trois ou six chiffres hexadécimaux, dièse initial facultatif, lettres en majuscules ou minuscules. Les alias color, value, text, input et code sont acceptés par le même solveur. name est l'ident de la propriété personnalisée, avec ou sans -- initial ; les alias comprennent variable, var, var_name, custom_property et ident. La même chaîne est scindée en variable et value pour les tables de jetons, et root_block l'enveloppe en :root { --brand-primary: #3366ff; } pour semer une feuille en un seul collage. Les canaux entiers r, g et b, plus les drapeaux shorthand, had_hash et had_prefix, décrivent la forme d'origine. Une validation échouée — champ manquant, hex vide après un dièse, longueur autre que trois ou six, caractères non hex, préfixe de programmation 0x, espaces dans le nom, préfixe $ Sass, enveloppe var(), ident qui ne commence pas par une lettre ou un souligné, ou un nom de plus de soixante-quatre caractères préfixe compris — renvoie invalid_input en nommant le champ et n'est jamais facturée. Le tarif est un forfait $0.002 par requête réussie.

Où un formateur hex vers variable CSS gagne vraiment sa place

Parce que l'implémentation est du parse pur de palier A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant, et une validation échouée ne consomme pas le solde.

Pipelines de jetons de design et feuilles de style

Transformez des entrées hex d'un JSON de marque en lignes stables --name: #rrggbb; pour Style Dictionary, Theo ou un tokens.css maison, sans dérive de casse ni d'abréviation entre machines.

Combien coûte l'outil hex vers variable CSS ?

L'outil du navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.

Consulter la documentation complète du KIT →