Skip to content

Commit 50ea946

Browse files
committed
Merge branch 'dev'
2 parents 4109bf9 + fbd6475 commit 50ea946

27 files changed

+2254
-2655
lines changed

package.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,20 @@
1818
"up": "yarn upgrade-interactive --latest"
1919
},
2020
"devDependencies": {
21-
"@d-zero/cspell-config": "5.0.0-alpha.62",
22-
"@d-zero/eslint-config": "5.0.0-alpha.62",
23-
"@d-zero/lint-staged-config": "5.0.0-alpha.62",
24-
"@d-zero/prettier-config": "5.0.0-alpha.62",
25-
"@d-zero/textlint-config": "5.0.0-alpha.62",
26-
"@d-zero/tsconfig": "0.4.1",
27-
"mermaid": "11.6.0",
28-
"npm-run-all2": "7.0.2",
21+
"@d-zero/cspell-config": "5.0.0-alpha.68",
22+
"@d-zero/eslint-config": "5.0.0-alpha.68",
23+
"@d-zero/lint-staged-config": "5.0.0-alpha.68",
24+
"@d-zero/prettier-config": "5.0.0-alpha.68",
25+
"@d-zero/textlint-config": "5.0.0-alpha.68",
26+
"@d-zero/tsconfig": "0.5.0",
27+
"mermaid": "11.8.1",
28+
"npm-run-all2": "8.0.4",
2929
"typescript": "5.8.3",
3030
"vitepress": "1.6.3",
3131
"vitepress-plugin-mermaid": "2.0.17"
3232
},
3333
"volta": {
34-
"node": "22.14.0",
34+
"node": "22.17.0",
3535
"yarn": "1.22.22"
3636
}
3737
}

src/.vitepress/config.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,14 +98,15 @@ export default async () => {
9898
{ text: 'コードスタイル', link: '/css/style' },
9999
{ text: 'ビルド環境', link: '/css/builder' },
100100
{ text: 'ファイル構成', link: '/css/structure' },
101-
{ text: 'IDの利用の禁止', link: '/css/ids' },
101+
{ text: 'IDセレクタの利用の禁止', link: '/css/ids' },
102102
{ text: 'ルールの定義規則', link: '/css/rules' },
103103
{ text: 'タイプセレクタの利用', link: '/css/selectors' },
104104
{ text: '記述順番', link: '/css/order' },
105105
{
106106
text: 'カスタムプロパティ・カスタムクエリー・変数・関数・ミックスイン・プレースホルダー',
107107
link: '/css/variables',
108108
},
109+
{ text: 'プロパティのルール', link: '/css/properties' },
109110
{ text: '値のルール', link: '/css/values' },
110111
],
111112
},

src/css/builder.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,45 @@
11
# ビルド環境
22

3-
11tyのTransform機能から[ViteのCSS変換](https://ja.vitejs.dev/guide/features#css)を利用します。プリプロセッサーはSASSを利用します
3+
*11ty*のTransform機能から*PostCSS*を利用してCSS変換を行います。CSSは*PostCSS*のみを使用します
44

55
```mermaid
66
flowchart LR
7-
#in["*.scss"]
7+
#in["*.css"]
88
#out["*.css"]
9-
#vite(["Vite"])
9+
#postcss(["PostCSS"])
1010
1111
#in --> #dzBuilder --> #out
1212
1313
subgraph #dzBuilder["@d-zero/builder"]
1414
direction LR
1515
1616
subgraph #11ty["11ty"]
17-
subgraph #vite["vite"]
17+
subgraph #postcss["PostCSS"]
1818
direction TB
19-
#sass --> #postcss
19+
#postcss["PostCSS"]
2020
end
2121
end
2222
end
2323
```
2424

2525
## ベンダープレフィックス
2626

27-
Autoprefixerを利用するのでベンダープレフィックス付きのプロパティは必要ありません
27+
*Autoprefixer*を利用するのでベンダープレフィックス付きのプロパティは必要ありません
2828

29-
```scss
29+
```css
3030
selector {
3131
transition: opacity 300ms;
32-
-webkit-transition: opacity 300ms; // ❌ 不要
33-
-moz-transition: opacity 300ms; // ❌ 不要
32+
-webkit-transition: opacity 300ms; /* ❌ 不要 */
33+
-moz-transition: opacity 300ms; /* ❌ 不要 */
3434
}
3535
```
3636

37-
ただしCSSの標準規格でないものについては必要なケースがあります。Stylelintはその点を考慮して警告を出すので心配はありません
37+
ただしCSSの標準規格でないものについては必要なケースがあります。*Stylelint*はその点を考慮して警告を出すので心配はありません
3838

39-
```scss
39+
```css
4040
selector {
41-
-moz-osx-font-smoothing: grayscale; // ✅ ブラウザ固有のプロパティのためプレフィックは必要
42-
-webkit-font-smoothing: antialiased; // ✅ ブラウザ固有のプロパティのためプレフィックは必要
41+
-moz-osx-font-smoothing: grayscale; /* ✅ ブラウザ固有のプロパティのためプレフィックは必要 */
42+
-webkit-font-smoothing: antialiased; /* ✅ ブラウザ固有のプロパティのためプレフィックは必要 */
4343
}
4444
```
4545

src/css/ids.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
# IDの利用の禁止
1+
# IDセレクタの利用の禁止
22

33
詳細度で問題を起こすのでIDをセレクタとしてスタイルを定義しないでください。

src/css/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,7 @@ CSSのガイドラインは次の3つを主な目的として策定されてい
2424
### 別解を用意すること
2525

2626
ほとんどの場合、表現の方法はひとつではありません。メンテナンス性を優先させた方法、パフォーマンスを優先させた方法など、そのときそのときで最適な方法を探す必要があります。常にいくつかのパターンを考えながらコーディングできるように心掛けてください。また、万が一にブラウザの予期せぬバグに遭遇した際にも別解で解決する必要があります。
27+
28+
## ⚠️ SASSのサポート
29+
30+
現在のガイドラインではSASSのサポートを行っていません。SASSに関するルールは[過去のバージョン履歴](https://github.com/d-zero-dev/frontend-guidelines/tree/snapshot/sass-available)から内容を参照してください。

src/css/order.md

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,28 @@
22

33
以下のような順番で定義します。
44

5-
```scss
5+
```css
66
.component-name {
7-
// 1. 変数定義
8-
// 2. コンポーネント自体のスタイル
9-
// 3. 疑似要素
10-
// 4. 状態変化(※)
11-
// 4-1. メディアクエリ
12-
// 4-2. 疑似クラス(:hover :disabled :nth-child :empty など)
13-
// 4-3. 属性
14-
// 4-4. 状態クラス (&--[状態])
15-
// 5. エレメント
16-
// 6. 結合子セレクタを利用したエレメント(E+E E~E など)
17-
// 7. 子孫要素に影響のある状態変化
7+
/* 1. 変数定義 */
8+
/* 2. コンポーネント自体のスタイル */
9+
/* 3. 疑似要素 */
10+
/* 4. 状態変化(※) */
11+
/* 4-1. メディアクエリ */
12+
/* 4-2. 疑似クラス(:hover :disabled :nth-child :empty など) */
13+
/* 4-3. 属性 */
14+
/* 4-4. 状態クラス(--[状態]) */
15+
/* 5. エレメント以外の子孫要素(タイプセレクタ) */
16+
/* 6. 結合子セレクタを利用したエレメント以外の子孫要素(E+E E~E など) */
17+
/* 7. 子孫要素に影響のある状態変化 */
18+
}
19+
20+
.component-name__element {
21+
/* エレメント */
1822
}
1923
/* EOF */
2024
```
2125

22-
また、プロパティについてはStylelintの設定に基づいて種類順に記述します
26+
また、プロパティについては*Stylelint*の設定に基づいて種類順に記述します
2327

2428
::: tip 👮‍♀️ 自動検知
2529
このルールは*Stylelint*によって警告されます。
@@ -29,16 +33,16 @@
2933

3034
JavaScript のライブラリの利用など、クラス命名規則に当てはまらないセレクタにスタイルを当てないといけない場合があります。その場合は、`.stylelintrc`ファイルにて`selector-class-pattern`を変更してください。
3135

32-
```scss
36+
```css
3337
.c-hero {
34-
// ⚠️ 通常はstylelintによる警告がでる
38+
/* ⚠️ 通常はStylelintによる警告がでる */
3539
.any-js-lib-class-name {
3640
/* declaration */
3741
}
3842
}
3943

4044
.c-hero {
41-
// ✅ .stylelintrcの設定変更によって警告がなくなる
45+
/* ✅ .stylelintrcの設定変更によって警告がなくなる */
4246
.any-js-lib-class-name {
4347
/* declaration */
4448
}

src/css/properties.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# プロパティのルール
2+
3+
## 論理プロパティ
4+
5+
原則、プロパティは論理プロパティを使用します。
6+
7+
```css
8+
selector {
9+
padding-top: 1em; /* ❌️ */
10+
padding-block-start: 1em; /* ✅️ */
11+
12+
top: 1em; /* ❌️ */
13+
inset-block-start: 1em; /* ✅️ */
14+
}
15+
```
16+
17+
::: tip 🔧 自動修正可能
18+
このルールは*Stylelint*によって自動修正されます。
19+
:::
20+
21+
### 論理プロパティとショートハンド
22+
23+
論理プロパティとして機能しないショートハンドは原則避けます。
24+
25+
```css
26+
selector {
27+
/* ❌️ */
28+
padding: 1em 2em 3em 4em;
29+
/* ✅️ */
30+
padding-block-start: 1em;
31+
padding-block-end: 3em;
32+
padding-inline-start: 2em;
33+
padding-inline-end: 4em;
34+
35+
/* ❌️ */
36+
padding: 1em 2em;
37+
/* ✅️ */
38+
padding-block: 1em;
39+
padding-inline: 2em;
40+
41+
/* ✅️ 例外 */
42+
padding: 1em; /* 1つの値は全方向に適用されるので問題なし */
43+
}
44+
```
45+
46+
::: tip 👮‍♀️ 自動検知
47+
このルールは*Stylelint*によって警告されます。
48+
:::
49+
50+
## transform
51+
52+
`transform`プロパティは関数を利用せず、対応する各プロパティを利用します。
53+
54+
```css
55+
selector {
56+
transform: translate(10px, 20px); /* ❌️ */
57+
transform: rotate(45deg); /* ❌️ */
58+
transform: scale(1.5); /* ❌️ */
59+
transform: translateX(100px); /* ❌️ */
60+
61+
translate: 10px 20px; /* ✅️ */
62+
rotate: 45deg; /* ✅️ */
63+
scale: 1.5; /* ✅️ */
64+
translate: 100px; /* ✅️ */
65+
}
66+
```
67+
68+
::: tip 👮‍♀️ 自動検知
69+
このルールは*Stylelint*によって警告されます。
70+
:::

0 commit comments

Comments
 (0)