タイトルの通りですが、Sassで0始まりの数値を使用した際に0が省略されてしまうということがあったので、備忘録としてメモ。
サンプルコード
やろうとしたことは、マップのkey値に0始まりの連番を指定して、class名にその連番を使用するという実装です。
$categories: ( 001: #58C9B9, 002: #F68657, 003: #6AAFE6 ); @each $key, $category in $categories { .category--#{$key} { color: $category; } }
これをコンパイルした場合、0が省略されて想定したclass名になりませんでした。
.category--1 { color: #58c9b9; } .category--2 { color: #f68657; } .category--3 { color: #6aafe6; }
対応としては、マップのkey値で文字列として指定すれば解消されます。
$categories: ( "001": #58C9B9, "002": #F68657, "003": #6AAFE6 ); @each $key, $category in $categories { .category--#{$key} { color: $category; } }
これで意図したclass名にすることができました。
.category--001 { color: #58c9b9; } .category--002 { color: #f68657; } .category--003 { color: #6aafe6; }
コメントが承認されるまで時間がかかります。