postcss-enumerates-in-line 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/publish.yml +6 -5
- package/README.md +279 -48
- package/README_EN.md +291 -49
- package/index.d.ts +48 -3
- package/index.mjs +246 -84
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,23 +5,27 @@
|
|
|
5
5
|
|[<img width="24" height="24" align="left" src="README.img/1f1ef-1f1f5.png" alt="🇯🇵"> 日本語](README.md)|[<img width="24" height="24" align="left" src="README.img/1f1fa-1f1f8.png" alt="🇺🇸"> English](README_EN.md)|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
## 更新点: v0.
|
|
8
|
+
## 更新点: v0.4.0
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
-
|
|
10
|
+
1. 色設定
|
|
11
|
+
|
|
12
|
+
- CSSプロパティ値に色設定を行う`color[[...]]`関数を追加
|
|
13
|
+
- プラグインのオプションに色テーマを追加する`appendUserColors(...)`を追加
|
|
14
|
+
- プラグインオプション`prependDefaultColor`の初期設定を`false`に変更
|
|
15
|
+
|
|
16
|
+
2. ショートハンド設定
|
|
17
|
+
|
|
18
|
+
- プラグインのオプションにユーザー定義ショートハンドを拡張する`appendShorthand(...)`を追加
|
|
19
|
+
|
|
20
|
+
3. CSSプロパティ
|
|
21
|
+
|
|
22
|
+
- 条件付きCSSプロパティ`attr(<attributes>)!`を追加
|
|
19
23
|
|
|
20
24
|
|
|
21
25
|
## 実装予定
|
|
22
26
|
|
|
23
|
-
-
|
|
24
|
-
-
|
|
27
|
+
- サンプルプログラムの更新
|
|
28
|
+
- メジャーアップデート
|
|
25
29
|
|
|
26
30
|
|
|
27
31
|
---
|
|
@@ -51,16 +55,11 @@
|
|
|
51
55
|
>
|
|
52
56
|
> `my`は`margin-top` & `margin-bottom`の、`ff`は`font-family`の、`fs`は`font-size`のショートハンドです。
|
|
53
57
|
> 何がショートハンドとして定義されているかは[プロパティ名のショートハンド](#プロパティ名のショートハンド)を参照してください。
|
|
58
|
+
> またユーザーが独自にショートハンドを登録することも可能です。
|
|
54
59
|
>
|
|
55
60
|
> `:`記号の前がプロパティ名、後ろがプロパティ値になっています。
|
|
56
61
|
> ホワイトスペースはプロパティの区切り文字であるため、プロパティ値に半角スペース記号を使いたい場合は`^`で代用します。
|
|
57
62
|
|
|
58
|
-
~~プロパティの列挙を目的としているため、hoverのような状態遷移・メディアクエリ・ダークモードなどへの対応はしません。~~
|
|
59
|
-
|
|
60
|
-
~~> [Tailwind CSS]における`hover:`・`md:`・`dark:`などに対応する機能は備えていないという意味です。~~
|
|
61
|
-
|
|
62
|
-
☑️version 0.3.0以上
|
|
63
|
-
|
|
64
63
|
またCSSプロパティ名の先頭に以下の書式を加筆することで、条件付きCSSプロパティに対応することができます。
|
|
65
64
|
|
|
66
65
|
- `hover!`: :hover
|
|
@@ -68,6 +67,7 @@
|
|
|
68
67
|
- `mq(<mediaQueries>)!`: @media screen and <mediaQueries>
|
|
69
68
|
- `data(<customDataElements>)!`: [data-<customDataElement>]
|
|
70
69
|
- `aria(<ariaAttributes>)!`: [aria-<ariaAttributes>]
|
|
70
|
+
- `attr(<attributes>)!`: [<attributes>]
|
|
71
71
|
|
|
72
72
|
> 詳しい書式は目次の次へお進みください。
|
|
73
73
|
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
## 目次
|
|
87
87
|
|
|
88
88
|
- [PostCSS Enumerates in Line](#postcss-enumerates-in-line)
|
|
89
|
-
- [更新点: v0.
|
|
89
|
+
- [更新点: v0.4.0](#更新点-v040)
|
|
90
90
|
- [実装予定](#実装予定)
|
|
91
91
|
- [目次](#目次)
|
|
92
92
|
- [CSSでの記述方法](#cssでの記述方法)
|
|
@@ -96,6 +96,7 @@
|
|
|
96
96
|
- [メディアクエリ](#メディアクエリ)
|
|
97
97
|
- [カスタムデータ属性](#カスタムデータ属性)
|
|
98
98
|
- [ARIA属性](#aria属性)
|
|
99
|
+
- [属性プロパティ](#属性プロパティ)
|
|
99
100
|
- [特殊な記号](#特殊な記号)
|
|
100
101
|
- [コロン記号](#コロン記号)
|
|
101
102
|
- [エクスクラメーション記号](#エクスクラメーション記号)
|
|
@@ -103,6 +104,7 @@
|
|
|
103
104
|
- [二重角括弧記号](#二重角括弧記号)
|
|
104
105
|
- [デフォルトカラー](#デフォルトカラー)
|
|
105
106
|
- [プロパティ名のショートハンド](#プロパティ名のショートハンド)
|
|
107
|
+
- [ショートハンドのユーザー定義](#ショートハンドのユーザー定義)
|
|
106
108
|
- [プラグインを使用する方法](#プラグインを使用する方法)
|
|
107
109
|
- [gulpでの使い方](#gulpでの使い方)
|
|
108
110
|
- [package.json](#packagejson)
|
|
@@ -121,6 +123,10 @@
|
|
|
121
123
|
- [オプション引数](#オプション引数)
|
|
122
124
|
- [prependDefaultColor](#prependdefaultcolor)
|
|
123
125
|
- [prependDefaultStyle](#prependdefaultstyle)
|
|
126
|
+
- [appendShorthand](#appendshorthand)
|
|
127
|
+
- [appendUserColor](#appendusercolor)
|
|
128
|
+
- [color\[\[...\]\]関数](#color関数)
|
|
129
|
+
- [prependDefaultColorオプション](#prependdefaultcolorオプション)
|
|
124
130
|
|
|
125
131
|
<div class="x--hr"></div>
|
|
126
132
|
|
|
@@ -163,7 +169,7 @@ h1 {
|
|
|
163
169
|
|
|
164
170
|
上記のように`条件付き書式!CSSプロパティ名:CSSプロパティ値`と記法を拡張することができます。
|
|
165
171
|
|
|
166
|
-
`hover!`, `dark!`, `mq(...)!`, `data(...)!`, `aria(...)!`はそれぞれ重ね掛けが可能です。
|
|
172
|
+
`hover!`, `dark!`, `mq(...)!`, `data(...)!`, `aria(...)!`, `attr(...)!`はそれぞれ重ね掛けが可能です。
|
|
167
173
|
|
|
168
174
|
```scss
|
|
169
175
|
h1 {
|
|
@@ -171,7 +177,7 @@ h1 {
|
|
|
171
177
|
}
|
|
172
178
|
```
|
|
173
179
|
|
|
174
|
-
ただしこれら条件付き書式は1つのCSSプロパティにつき1種しか設定できないため、`mq(...)!`・`data(...)!`・`aria(...)!`を連続して記述できません。
|
|
180
|
+
ただしこれら条件付き書式は1つのCSSプロパティにつき1種しか設定できないため、`mq(...)!`・`data(...)!`・`aria(...)!`・`attr(...)!`を連続して記述できません。
|
|
175
181
|
|
|
176
182
|
列挙する場合は`(`・`)`の中で、`,`を使ってください。
|
|
177
183
|
|
|
@@ -447,6 +453,36 @@ h1[aria-label="heading"] {
|
|
|
447
453
|
> + `\`: %5D
|
|
448
454
|
|
|
449
455
|
|
|
456
|
+
#### 属性プロパティ
|
|
457
|
+
|
|
458
|
+
カスタムデータ属性(`[data-*]`)とARIA属性(`[aria-*]`)について専用の条件付き書式を設けていますが、それ以外の属性プロパティ(`[*]`)も`attr(...)!`を使うことで記述可能です。
|
|
459
|
+
|
|
460
|
+
そのため`data(foo="bar")!`と`attr(data-foo="bar")!`は等価になります。
|
|
461
|
+
|
|
462
|
+
複数の属性セレクターを組み合わせる場合は、`,`で区切ります。
|
|
463
|
+
|
|
464
|
+
```scss
|
|
465
|
+
/* 🚧Before */
|
|
466
|
+
h1 {
|
|
467
|
+
@emums attr(download)!ct:red attr(title="heading",data-tags~="hello")!bw2:1px;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
/* 🚀After */
|
|
471
|
+
h1[download] {
|
|
472
|
+
color: red;
|
|
473
|
+
}
|
|
474
|
+
h1[title="heading"][data-tags~="hello"] {
|
|
475
|
+
border-bottom-width: 1px;
|
|
476
|
+
}
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
属性セレクターは`属性名`、または`属性名`・`条件演算子`・`属性データ`の組み合わせになっています。
|
|
480
|
+
|
|
481
|
+
属性名が存在することだけを条件にする場合は、`条件演算子`と`属性データ`を必要としません。
|
|
482
|
+
|
|
483
|
+
詳細は[カスタムデータ属性](#カスタムデータ属性)を参照してください。
|
|
484
|
+
|
|
485
|
+
|
|
450
486
|
### 特殊な記号
|
|
451
487
|
|
|
452
488
|
特殊な振る舞いを起こす文字は、`:`・`^`・`!`・`[[`・`]]`の5種類です。
|
|
@@ -511,47 +547,59 @@ h1[aria-label="heading"] {
|
|
|
511
547
|
|
|
512
548
|
しかし変換書式を改善中であるため、意図したように演算子の両端へ正常に空白記号が挿入されない可能性があります。
|
|
513
549
|
|
|
514
|
-
こうした場合でも`^`記号を補えば正常な算術関数へと修正できるのですが、より確実な手段としては`[[`・`]]`記号を使わず人力で`^`記号を補う方が間違いは少ないでしょう。
|
|
550
|
+
> こうした場合でも`^`記号を補えば正常な算術関数へと修正できるのですが、より確実な手段としては`[[`・`]]`記号を使わず人力で`^`記号を補う方が間違いは少ないでしょう。
|
|
515
551
|
|
|
552
|
+
---
|
|
516
553
|
|
|
554
|
+
上記とは別に、`color[[...]]`という独自の構文をCSSプロパティ値に使用することができます。
|
|
517
555
|
|
|
518
|
-
|
|
556
|
+
```scss
|
|
557
|
+
h1 {
|
|
558
|
+
@enums ct:color[[yellow,600]];
|
|
559
|
+
}
|
|
560
|
+
```
|
|
519
561
|
|
|
520
|
-
|
|
562
|
+
`,`区切りの複数の引数を取ることができ、この[パッケージが管理する色情報](README.img/default_color.png)を呼び出すために使います。
|
|
521
563
|
|
|
522
|
-
|
|
564
|
+
これはプラグインオプションの`prependDefaultColor`を`true`にした上で、`@enums ct:var(--color-yellow-600);`を宣言した時と同じ挙動をします。
|
|
523
565
|
|
|
524
566
|
```scss
|
|
525
|
-
|
|
526
|
-
@enums ct:
|
|
567
|
+
h1 {
|
|
568
|
+
@enums ct:color[[cyan,400,95%,rgb]];
|
|
527
569
|
}
|
|
528
570
|
```
|
|
529
571
|
|
|
530
|
-
|
|
572
|
+
この関数様の構文は、最大で4種類の引数を取ります。
|
|
531
573
|
|
|
532
|
-
|
|
574
|
+
1. 色テーマ(`cyan`など)
|
|
575
|
+
2. 濃度レベル(`400`など; 正規表現で書くと`/[\d]+/`)
|
|
576
|
+
3. アルファ値(`95%`など; 正規表現で書くと`/[\d]+[%]/`)
|
|
577
|
+
4. 出力形式(`rgb`|`hsl`|`oklch`; 大文字小文字は問いません)
|
|
533
578
|
|
|
534
|
-
|
|
535
|
-
@use '../node_modules/postcss-enumerates-in-line/_color.scss' as c;
|
|
579
|
+
既に登録されている色テーマ名を指定することはできません。
|
|
536
580
|
|
|
537
|
-
|
|
538
|
-
color: #{c.$color-red-400}99; // D14D4199
|
|
539
|
-
}
|
|
540
|
-
```
|
|
581
|
+
これはプラグインが初期状態で実装しているものだけでなく、ユーザー定義による追加された色テーマについても同様です。
|
|
541
582
|
|
|
542
|
-
>
|
|
583
|
+
> 未指定の種類に対しては、次の初期値が適用されます。
|
|
584
|
+
> 1. `base`
|
|
585
|
+
> 2. `400`
|
|
586
|
+
> 3. `100%`
|
|
587
|
+
> 4. `hsl`
|
|
588
|
+
>
|
|
589
|
+
> 未定義の色テーマや濃度レベルを指定した場合、エラーとして扱われ無視されます。
|
|
543
590
|
|
|
544
|
-
|
|
545
|
-
/* 🚧Before */
|
|
546
|
-
html {
|
|
547
|
-
color: color-alpha[[red,400,60%,oklch]];
|
|
548
|
-
}
|
|
591
|
+
この関数を使うことで、透過率が設定できる他、色テーマをプラグインのオプションである`appendUserColors(...)`でユーザー独自の定義を追加できる上に、`prependDefaultColor`を初期値の`false`以外にするとCSS変数として色情報が`:root`ブロックに出力されることでCSSファイルサイズが大きくなるなど、様々なデメリットが解消されるでしょう。
|
|
549
592
|
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
593
|
+
|
|
594
|
+
### デフォルトカラー
|
|
595
|
+
|
|
596
|
+
デフォルトカラーは[Flexoki] v2.0からのフォークです。
|
|
597
|
+
|
|
598
|
+
[<img src="README.img/default_color.png" alt="Default color">](README.img/default_color.png)
|
|
599
|
+
|
|
600
|
+
`color[[...]]`の項目で説明した通り、`appendUserColors(...)`オプション設定を使うと独自の色テーマを追加することができます。
|
|
601
|
+
|
|
602
|
+
詳細は[オプション引数](#オプション引数)を参照してください。
|
|
555
603
|
|
|
556
604
|
|
|
557
605
|
### プロパティ名のショートハンド
|
|
@@ -648,6 +696,13 @@ html {
|
|
|
648
696
|
数字の`1`から`9`が使われる理由はテンキーの配置を想像してみてください。
|
|
649
697
|
|
|
650
698
|
|
|
699
|
+
#### ショートハンドのユーザー定義
|
|
700
|
+
|
|
701
|
+
CSSプロパティ名のショートハンドは、プラグインオプションの`appendShorthand(...)`により拡張することができます。
|
|
702
|
+
|
|
703
|
+
詳細は[オプション引数](#オプション引数)を参照してください。
|
|
704
|
+
|
|
705
|
+
|
|
651
706
|
## プラグインを使用する方法
|
|
652
707
|
|
|
653
708
|
### gulpでの使い方
|
|
@@ -863,9 +918,9 @@ PostCSS処理の配列の中に、`enumSpreader({})`関数を差し込みます
|
|
|
863
918
|
|
|
864
919
|
自動的に出力される色設定への対応内容。
|
|
865
920
|
|
|
866
|
-
初期値:
|
|
921
|
+
初期値: false (boolean|string)
|
|
867
922
|
|
|
868
|
-
`true
|
|
923
|
+
`true`を設定した時(または`"hsl"`や`"HSL"`を設定した時)において、次のような色設定(HSL形式)がCSSに出力されます。
|
|
869
924
|
|
|
870
925
|
```css
|
|
871
926
|
:root {
|
|
@@ -923,3 +978,179 @@ prependDefaultStyle: [
|
|
|
923
978
|
追記するだけであって、このプラグインが最初から搭載しているリセットCSSの一部だけを除去することはできません。
|
|
924
979
|
|
|
925
980
|
完全に自己流のリセットCSSだけを出力したい場合は`prependDefaultStyle`オプションを`false`にした上で、SCSSファイルにその設定を記述してください。
|
|
981
|
+
|
|
982
|
+
|
|
983
|
+
### appendShorthand
|
|
984
|
+
|
|
985
|
+
ユーザー定義ショートハンドの追加。
|
|
986
|
+
|
|
987
|
+
初期値: [] (string[string,string[]])
|
|
988
|
+
|
|
989
|
+
```javascript
|
|
990
|
+
appendShorthand: [
|
|
991
|
+
['pos', ['position']],
|
|
992
|
+
],
|
|
993
|
+
```
|
|
994
|
+
|
|
995
|
+
上記のように指定すると、`pos`が新たに`position`のショートハンドとして機能するようになります。
|
|
996
|
+
|
|
997
|
+
```javascript
|
|
998
|
+
appendShorthand: [
|
|
999
|
+
['bw246', ['border-bottom-width', 'border-left-width', 'border-right-width']],
|
|
1000
|
+
],
|
|
1001
|
+
```
|
|
1002
|
+
|
|
1003
|
+
複数のプロパティ名を一括指定することも可能です。
|
|
1004
|
+
|
|
1005
|
+
```javascript
|
|
1006
|
+
appendShorthand: [
|
|
1007
|
+
['lh', ['line-height']],
|
|
1008
|
+
],
|
|
1009
|
+
```
|
|
1010
|
+
|
|
1011
|
+
`line-height`プロパティには既に`fh`というショートハンドが存在していますが、別名(エイリアス)のショートハンドを与えることもできます。
|
|
1012
|
+
|
|
1013
|
+
```javascript
|
|
1014
|
+
appendShorthand: [
|
|
1015
|
+
['o', ['opacity']],
|
|
1016
|
+
],
|
|
1017
|
+
```
|
|
1018
|
+
|
|
1019
|
+
しかし上記のように`o`を登録しようとしても、`outline`のショートハンドとして既に登録されているため無視されます。
|
|
1020
|
+
|
|
1021
|
+
ショートハンドの設定上書きはできません。
|
|
1022
|
+
|
|
1023
|
+
また構文エラーの場合は無視されます。
|
|
1024
|
+
|
|
1025
|
+
|
|
1026
|
+
### appendUserColor
|
|
1027
|
+
|
|
1028
|
+
ユーザー定義色テーマの追加。
|
|
1029
|
+
|
|
1030
|
+
初期値: [] ({theme: <string>, levels: {level: <number>, rgb: <string>, hsl: <string>, oklch: <string>}[]}[])
|
|
1031
|
+
|
|
1032
|
+
```javascript
|
|
1033
|
+
appendUserColor: [
|
|
1034
|
+
{
|
|
1035
|
+
theme: 'blood',
|
|
1036
|
+
levels: [
|
|
1037
|
+
{
|
|
1038
|
+
level: 400,
|
|
1039
|
+
rgb: '#660000',
|
|
1040
|
+
hsl: 'hsl(0 100% 20%)',
|
|
1041
|
+
oklch: 'oklch(0.3204 0.1315 29.23)',
|
|
1042
|
+
},
|
|
1043
|
+
{
|
|
1044
|
+
level: 600,
|
|
1045
|
+
rgb: '#D1001C',
|
|
1046
|
+
hsl: 'hsl(352 100% 41%)',
|
|
1047
|
+
oklch: 'oklch(0.5418 0.2202 26.04)',
|
|
1048
|
+
},
|
|
1049
|
+
]
|
|
1050
|
+
},
|
|
1051
|
+
]
|
|
1052
|
+
```
|
|
1053
|
+
|
|
1054
|
+
上記のように指定すると、`theme`の`blood`が新しい色テーマとして登録され、濃度レベルは`400`と`600`が利用可能になります。
|
|
1055
|
+
|
|
1056
|
+
> デフォルトカラーとして登録されている色テーマ名や、別のユーザー定義色テーマ名とは重複する名称を登録することはできません。
|
|
1057
|
+
|
|
1058
|
+
登録済みの色テーマは、次の2種類の方法で呼び出すことが可能です。
|
|
1059
|
+
|
|
1060
|
+
1. `color[[...]]`
|
|
1061
|
+
2. `prependDefaultColor`
|
|
1062
|
+
|
|
1063
|
+
|
|
1064
|
+
#### color[[...]]関数
|
|
1065
|
+
|
|
1066
|
+
```scss
|
|
1067
|
+
/* 🚧Before */
|
|
1068
|
+
h1 {
|
|
1069
|
+
@enums ct:color[[red,400]];
|
|
1070
|
+
}
|
|
1071
|
+
|
|
1072
|
+
/* 🚀After */
|
|
1073
|
+
h1 {
|
|
1074
|
+
color: hsl(5 61% 53.7%);
|
|
1075
|
+
}
|
|
1076
|
+
```
|
|
1077
|
+
|
|
1078
|
+
色テーマ名(例: `red`)・濃度レベル(例: `400`)・アルファ値(例: `100%`)・出力形式(例: `rgb`)の最大4種類を引数に取り、全てオプション引数であるため省略が可能です。
|
|
1079
|
+
|
|
1080
|
+
ただし構文上の制約から、最低1種類は引数として指定してください。
|
|
1081
|
+
|
|
1082
|
+
> 1. 色テーマ名
|
|
1083
|
+
>
|
|
1084
|
+
> デフォルトカラーまたは`appendUserColor(...)`で登録したもの。
|
|
1085
|
+
>
|
|
1086
|
+
> 省略された場合の初期値は`base`。
|
|
1087
|
+
>
|
|
1088
|
+
> 未定義の色テーマ名を指定した場合、内部エラー処理により無視されます。
|
|
1089
|
+
|
|
1090
|
+
> 2. 濃度レベル
|
|
1091
|
+
>
|
|
1092
|
+
> `0`(輝度ほぼ100%)から`999`(輝度ほぼ0%)までの整数
|
|
1093
|
+
>
|
|
1094
|
+
> 省略された場合の初期値は`400`
|
|
1095
|
+
>
|
|
1096
|
+
> デフォルトカラーはだいたい100区切りの分かりやすい数値になっていますが、`appendUserColor(...)`で登録する場合は独自の数値を与えることが可能です。
|
|
1097
|
+
>
|
|
1098
|
+
> 未定義の濃度レベルを指定した場合、内部エラー処理により無視されます。
|
|
1099
|
+
|
|
1100
|
+
> 3. アルファ値
|
|
1101
|
+
>
|
|
1102
|
+
> `0%`(完全に透明)から`100%`(完全に不透明)までのパーセント値
|
|
1103
|
+
>
|
|
1104
|
+
> 省略された場合の初期値は`100%`
|
|
1105
|
+
>
|
|
1106
|
+
> `50.5%`のような小数点指定も可能ですが、`1`のようにしてパーセント記号を省略すると濃度レベルだと誤解釈してしまうため必ずパーセント記号を付けてください。
|
|
1107
|
+
|
|
1108
|
+
> 4. 出力形式
|
|
1109
|
+
>
|
|
1110
|
+
> CSSファイルへ出力する時の書式
|
|
1111
|
+
>
|
|
1112
|
+
> 省略された場合の初期値は`hsl`
|
|
1113
|
+
>
|
|
1114
|
+
> `hsl`・`rgb`・`oklch`の3種類から選択できます。大文字小文字は問いません。
|
|
1115
|
+
|
|
1116
|
+
|
|
1117
|
+
#### prependDefaultColorオプション
|
|
1118
|
+
|
|
1119
|
+
```javascript
|
|
1120
|
+
enumSpreader({
|
|
1121
|
+
prependDefaultColor: true,
|
|
1122
|
+
// ...
|
|
1123
|
+
})
|
|
1124
|
+
```
|
|
1125
|
+
|
|
1126
|
+
プラグインオプションの`prependDefaultColor`を`false`以外の値にすると、色テーマに関するCSS変数が出力されます。
|
|
1127
|
+
|
|
1128
|
+
> 指定可能な値は`hsl`・`rgb`・`oklch`、および`true`(`hsl`と等価)です。
|
|
1129
|
+
>
|
|
1130
|
+
> `true`以外の文字列リテラルに限り、大文字小文字は問いません。
|
|
1131
|
+
|
|
1132
|
+
```css
|
|
1133
|
+
:root {
|
|
1134
|
+
--color-red-400: hsl(5 61% 53.7%);
|
|
1135
|
+
}
|
|
1136
|
+
```
|
|
1137
|
+
|
|
1138
|
+
この設定を利用して、色設定を行います。
|
|
1139
|
+
|
|
1140
|
+
```scss
|
|
1141
|
+
/* 🚧Before */
|
|
1142
|
+
h1 {
|
|
1143
|
+
@enums ct:var(--color-red-400);
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
/* 🚀After */
|
|
1147
|
+
h1 {
|
|
1148
|
+
color: hsl(5 61% 53.7%);
|
|
1149
|
+
}
|
|
1150
|
+
```
|
|
1151
|
+
|
|
1152
|
+
この方法のメリットは、PostCSS Enumerates in Lineプラグインの外ででも色設定を利用することができる点にあります。
|
|
1153
|
+
|
|
1154
|
+
しかしアルファ値の設定ができなかったり、あるいは大量に出力されるCSS変数のためCSSファイルのサイズが肥大化したりする点はデメリットです。
|
|
1155
|
+
|
|
1156
|
+
状況に応じて使い分けてください。
|