Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
KK
Uploaded by
Kenya Kodaira
PPTX, PDF
38,929 views
2016年版 フロントエンド開発フォーマット
新規サイト制作におけるフロントエンドの環境を統一化しようと試みて作ってみましたー
Internet
◦
Read more
94
Save
Share
Embed
Embed presentation
Download
Downloaded 76 times
1
/ 104
2
/ 104
3
/ 104
4
/ 104
5
/ 104
6
/ 104
7
/ 104
8
/ 104
9
/ 104
10
/ 104
11
/ 104
12
/ 104
13
/ 104
14
/ 104
15
/ 104
16
/ 104
17
/ 104
18
/ 104
19
/ 104
20
/ 104
21
/ 104
22
/ 104
23
/ 104
24
/ 104
25
/ 104
26
/ 104
27
/ 104
28
/ 104
29
/ 104
30
/ 104
31
/ 104
32
/ 104
33
/ 104
34
/ 104
35
/ 104
36
/ 104
37
/ 104
38
/ 104
39
/ 104
40
/ 104
41
/ 104
42
/ 104
43
/ 104
44
/ 104
45
/ 104
46
/ 104
47
/ 104
48
/ 104
49
/ 104
50
/ 104
51
/ 104
52
/ 104
53
/ 104
54
/ 104
55
/ 104
56
/ 104
57
/ 104
58
/ 104
59
/ 104
60
/ 104
61
/ 104
62
/ 104
63
/ 104
64
/ 104
65
/ 104
66
/ 104
67
/ 104
68
/ 104
69
/ 104
70
/ 104
71
/ 104
72
/ 104
73
/ 104
74
/ 104
75
/ 104
76
/ 104
77
/ 104
78
/ 104
79
/ 104
80
/ 104
81
/ 104
82
/ 104
83
/ 104
84
/ 104
85
/ 104
86
/ 104
87
/ 104
88
/ 104
89
/ 104
90
/ 104
91
/ 104
92
/ 104
93
/ 104
94
/ 104
95
/ 104
96
/ 104
97
/ 104
98
/ 104
99
/ 104
100
/ 104
101
/ 104
102
/ 104
103
/ 104
104
/ 104
More Related Content
PDF
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
by
Horiguchi Seito
PDF
ブラウザにやさしいHTML/CSS
by
Takeharu Igari
PDF
CSS の歩き方
by
Seiichiro Mishiba
PDF
CSS設計のお勉強
by
MarlboroLand
PDF
今必要なCSSアーキテクチャ
by
Mayu Kimura
PPTX
SMACSS入門
by
iPride Co., Ltd.
PPTX
第10回勉強会 CSS設計について
by
takumaro web
PDF
大規模サイトにおける本当は怖いCSSの話
by
井上 誠
悩まないコーディングをしよう! OOCSS,SMACSSを用いた、読みやすくてメンテナブルなCSS設計(Sass対応)
by
Horiguchi Seito
ブラウザにやさしいHTML/CSS
by
Takeharu Igari
CSS の歩き方
by
Seiichiro Mishiba
CSS設計のお勉強
by
MarlboroLand
今必要なCSSアーキテクチャ
by
Mayu Kimura
SMACSS入門
by
iPride Co., Ltd.
第10回勉強会 CSS設計について
by
takumaro web
大規模サイトにおける本当は怖いCSSの話
by
井上 誠
What's hot
PPTX
css基本。
by
web12
PDF
モダンCSS設計と BEMという開発手法
by
Kenji Karahashi
PDF
今日から使える! HTML/CSS/JSの シンプルテクニック15選
by
Horiguchi Seito
PPTX
Oocssとかついでにsmacssとbemの話も
by
Yumi uniq Ishizaki
PDF
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
by
Yoshiki Hayama
PDF
HTML5マークアップの心得と作法
by
Futomi Hatano
PDF
マークアップ講座 01b HTML
by
eiji sekiya
PDF
設計から実装まで、今すぐ始める高速化
by
masaaki komori
PDF
使いやすいWordPressのためのCSSのつくりかた
by
Hiroshi Urabe
PDF
HTML/CSSを効率的にする メタ言語とツールのアレコレ
by
知己 久保
PDF
HTML仕様書を読んでみよう
by
Saeki Tominaga
PDF
Css Architecture for the future 未来を見据えるCSS設計
by
Horiguchi Seito
PDF
E2E CSS Testing at HTML5 Conference 2016
by
Takeharu Igari
PPTX
メンテナブルなJsってなんだろう
by
Daiki Matsumoto
KEY
コーディングが上達するコツ
by
evol-ni
PDF
今からハジメるHTML5マークアップ
by
SwapSkills
PPTX
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
by
Shin Takeuchi
PDF
今からハジメるHTML5プログラミング
by
SwapSkills
PDF
HTML5 & The Web Platform
by
Masataka Yakura
PDF
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
by
Horiguchi Seito
css基本。
by
web12
モダンCSS設計と BEMという開発手法
by
Kenji Karahashi
今日から使える! HTML/CSS/JSの シンプルテクニック15選
by
Horiguchi Seito
Oocssとかついでにsmacssとbemの話も
by
Yumi uniq Ishizaki
ヒューマンリーダブルな CSS 記述法(異次元編):2016年5月13日 CodeGrid 四周年記念パーティー
by
Yoshiki Hayama
HTML5マークアップの心得と作法
by
Futomi Hatano
マークアップ講座 01b HTML
by
eiji sekiya
設計から実装まで、今すぐ始める高速化
by
masaaki komori
使いやすいWordPressのためのCSSのつくりかた
by
Hiroshi Urabe
HTML/CSSを効率的にする メタ言語とツールのアレコレ
by
知己 久保
HTML仕様書を読んでみよう
by
Saeki Tominaga
Css Architecture for the future 未来を見据えるCSS設計
by
Horiguchi Seito
E2E CSS Testing at HTML5 Conference 2016
by
Takeharu Igari
メンテナブルなJsってなんだろう
by
Daiki Matsumoto
コーディングが上達するコツ
by
evol-ni
今からハジメるHTML5マークアップ
by
SwapSkills
現場で使える効果的なHTML&CSS構造設計(Effective HTML&CSS)
by
Shin Takeuchi
今からハジメるHTML5プログラミング
by
SwapSkills
HTML5 & The Web Platform
by
Masataka Yakura
最近、実務に導入してみたフロントエンドの技術8つの良かった点と反省点
by
Horiguchi Seito
Viewers also liked
PDF
メンテナブルでありつづけるためのCSS設計
by
拓樹 谷
PDF
なんでCSSすぐ死んでしまうん
by
Hayato Mizuno
PDF
Web design
by
kazuko kaneuchi
PDF
プログラマがWebデザインについて考えてみた
by
Eigoro Yamamura
PDF
ノンデザイナーのためのWebデザイン講座
by
光利 吉田
PDF
プログラマがデザインをがんばってみた
by
だいすけ ふるかわ
PDF
Webデザインのトーン&マナーを導き出す手法
by
Katsumi Tazuke
PDF
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
by
Ayaka Sumida
PDF
デザインのためのデザイン
by
Masayuki Uetani
PDF
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえよう
by
Sasaki Kouhei
PDF
Webデザインのセオリーを学ぼう
by
Toshiaki Sasaki
KEY
ノンデザイナーのための配色理論
by
tsukasa obara
PPT
色彩センスのいらない配色講座
by
Mariko Yamaguchi
メンテナブルでありつづけるためのCSS設計
by
拓樹 谷
なんでCSSすぐ死んでしまうん
by
Hayato Mizuno
Web design
by
kazuko kaneuchi
プログラマがWebデザインについて考えてみた
by
Eigoro Yamamura
ノンデザイナーのためのWebデザイン講座
by
光利 吉田
プログラマがデザインをがんばってみた
by
だいすけ ふるかわ
Webデザインのトーン&マナーを導き出す手法
by
Katsumi Tazuke
WordCamp Kansai 2015 デザイン初心者向けワークショップ〜 ブログデザインを実際に作ってみよう〜
by
Ayaka Sumida
デザインのためのデザイン
by
Masayuki Uetani
ノンデザイナーのための「デザインの判断」はとりあえずコレだけおさえよう
by
Sasaki Kouhei
Webデザインのセオリーを学ぼう
by
Toshiaki Sasaki
ノンデザイナーのための配色理論
by
tsukasa obara
色彩センスのいらない配色講座
by
Mariko Yamaguchi
Similar to 2016年版 フロントエンド開発フォーマット
PDF
フロント作業の効率化
by
Yuto Yoshinari
PDF
コーディングがラクになる!? “自分仕様”のさくさくコーディング法
by
Rico Sengan
PDF
Gruntでフロントの生産性up
by
Kazuyoshi Goto
DOCX
AITC 女子部 第一回 Web HTML5 補足資料v0.1
by
Natsumi Irimura
PDF
Webとスマホとデザインと - 地方から広がるつながるデザイナーのお仕事 -
by
Miho Yamamori
PDF
スマートフォンWebアプリ最適化”3つの極意”
by
Koji Ishimoto
PDF
リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03
by
Yahoo!デベロッパーネットワーク
PDF
Web制作者は変化についていけるか? 変化についていくべきか?
by
masaaki komori
PDF
「html5 boilerplate」から考える、これからのマークアップ
by
Yasuhito Yabe
PDF
Htmlコーディングの効率化 後編
by
Yasuhito Yabe
PDF
フロントエンド実装 グロースのポイント
by
eiji sekiya
PPTX
HTML + CSSで名刺作る!!!(アイマスハッカソン2024 ライトニングトーク用資料)
by
lilylimemint
PDF
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
by
Kazuki Akiyama
PDF
マークアップ講座 02 CSS
by
eiji sekiya
ODP
Bpstudy26
by
monjudoh
PDF
Styleguide Driven Development x CMS - MTDDC Tokyo 2015
by
知己 久保
PDF
Sass(SCSS)について
by
Kazufumi Miyamoto
PPTX
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
by
Shumpei Shiraishi
PDF
MTDDC Meetup TOKYO 2015 bit-part
by
bitpart
PDF
大阪Node学園八時限目 「コーディングのためのless - 基礎編 -」
by
Shunsuke Watanabe
フロント作業の効率化
by
Yuto Yoshinari
コーディングがラクになる!? “自分仕様”のさくさくコーディング法
by
Rico Sengan
Gruntでフロントの生産性up
by
Kazuyoshi Goto
AITC 女子部 第一回 Web HTML5 補足資料v0.1
by
Natsumi Irimura
Webとスマホとデザインと - 地方から広がるつながるデザイナーのお仕事 -
by
Miho Yamamori
スマートフォンWebアプリ最適化”3つの極意”
by
Koji Ishimoto
リファクタリングHTML/CSS ~レガシー世界を超えて~ #scripty03
by
Yahoo!デベロッパーネットワーク
Web制作者は変化についていけるか? 変化についていくべきか?
by
masaaki komori
「html5 boilerplate」から考える、これからのマークアップ
by
Yasuhito Yabe
Htmlコーディングの効率化 後編
by
Yasuhito Yabe
フロントエンド実装 グロースのポイント
by
eiji sekiya
HTML + CSSで名刺作る!!!(アイマスハッカソン2024 ライトニングトーク用資料)
by
lilylimemint
CSSフレームワークを使った 簡単なレスポンシブデザインの作成
by
Kazuki Akiyama
マークアップ講座 02 CSS
by
eiji sekiya
Bpstudy26
by
monjudoh
Styleguide Driven Development x CMS - MTDDC Tokyo 2015
by
知己 久保
Sass(SCSS)について
by
Kazufumi Miyamoto
パララックスでレスポンシブでJ query mobileなサイトのつくりかた
by
Shumpei Shiraishi
MTDDC Meetup TOKYO 2015 bit-part
by
bitpart
大阪Node学園八時限目 「コーディングのためのless - 基礎編 -」
by
Shunsuke Watanabe
2016年版 フロントエンド開発フォーマット
1.
フロントエンド フロントエンドの開発効率をあげるテンプレートと その使い方やルールを説明します 1 株式会社スタジオ・アルカナ 開発フォーマット
2.
目的 「一貫性を持たせる」 開発、命名、フォルダ構造にルールを定めることで、 共通の語彙を持つことができ、プロジェクトを1人の開発者 に依存しないようにします 2
3.
対象 • プロジェクトに関わる人全般 • HTML
/ CSSの知識があることを前提とする • 静的なページのみのコーディングを想定とする 3
4.
使用ツール(事前知識) • CSS Preprocessor:
Sass(scss記法) • Reset CSS: sanitize.css • HTML Template Engind: Jade • TaskRunner: Gulp • VersionControlSystem: Git 4
5.
得られる恩恵 1. コードの品質の安定 慣例・定石の例をまとめることで品質(拡張性, メンテナンス性,
可読性, バ グの回避)を担保する 2. コミュニケーションコストの削減 ルールに沿った書き方をする事で連絡や質問事項を減らす 3. 経験値の共有 HTML/CSSの仕様上起きやすいミスを防ぐ 5
6.
環境設定 6 CSSのルール HTMLのルール HTML/CSS共通ルールGitのルール アジェンダ 画像のルール
7.
環境設定 7 CSSのルール HTMLのルール HTML/CSS共通ルールGitのルール 環境設定 画像のルール
8.
準備すべき環境 • Node.js(v5.4.1) • Git •
Gulp(4.x) • Sass • Jade • EditorCoding 8
9.
使用方法 9 1. ファイルを作業フォルダに落とす $git clone
https://github.com/KodairaKenya/web-starter-kit.git 2. パッケージをインストール $npm install 3. 実行 $gulp
10.
ディレクトリ構造 10 少し見えずらいけど、 この構造が大切になります! !
11.
環境設定 11 CSSのルール HTMLのルール HTML/CSS共通ルールGitのルール Gitのルール 画像のルール
12.
Git(コミットのルール) バージョン管理ツールの主流とされているGit コミットメッセージに一定のルールを与えることで、 共同開発者が何を行なったかを一目でわかるようにします (今回は日本語でのコミットを想定します) 12
13.
原則 • 1行目に全体的説明(タイトル)を50 字以内で記述 •
2行目は空白行 • 3行目以降に変更内容の詳細(何をなぜ)を記述 13 コミットメッセージの原則的なルール
14.
1行目の記述フォーマット • 【Fix】 :バグ修正 •
【Add】 :新規機能(ファイル)追加 • 【Change】 :仕様変更 • 【Remove】:削除(ファイル) 14
15.
日本語でのコミット例 【動詞】ページ名 / 説明の形にする 15 $
git commit -m "【Fix】about / フッターリンクを修正" -m "(空白)" -m "リンク先をAからBに修 正" (例) aboutページのfooterのリンクを修正 (例) contactページの住所の欄を追加 $ git commit -m "【Add】contact / 住所の欄を追加" -m "(空白)" -m "データーベースに合わせて 住所を入力する欄を追加する"
16.
.gitignore 基本的にgulpで処理した後のファイルはgitで管理しない 下記のファイルはアップしないようにする 16 /.DS_Store /node_modules /build /npm-debug.log
17.
環境設定 17 CSSのルール HTMLのルール HTML/CSS共通ルールGitのルール HTMLのルール 画像のルール
18.
HTML(基本の書式ルール) HTMLの書式のルールを定義します コードの品質が維持される場合に限り、難読化、最小化、 コンパイルするのは自由です 18
19.
一般的な書式 ブロック要素ごとに改行し、 子要素にはインデント(スペース2つ)をつける (a、span、imgなどの最小の位置にでは改行は適宜対応) 19 理由 可読性の向上
20.
(例) 20 /* NG */ <div> <ul> <li><a
href="/">Moe</a></li> <li>Larry <li>Curly </ul> </div スペースは2つ
21.
プロトコル 2つのプロトコル(http:/ https:)をまたがって使わざるを得な い限り、画像や他のメディアファイル、スタイルシート、 スクリプトのURLからプロトコル部分を省く 21 理由 ファイル容量を少なくできる
22.
(例) 22 /* NG */ div
{ background: url(http://www.google.com/images/example); } /* OK */ div { background: url(//www.google.com/images/example); } <!-- NG --> <script src="http://www.google.com/js/gweb/analytics/autotrack.js"></script> <!-- OK --> <script src="//www.google.com/js/gweb/analytics/autotrack.js"></script> http:が省略されてい る
23.
スペース インデントはスペース2つ (エディタの設定でtabでスペース2つ入力されるように設定 しておく) 23 理由 見た目を綺麗に揃えるため
24.
エンコーディング エンコーディングを明記する meta charset=”utf-8″ のように明記 24 理由 文字エンコーディングを指定しないと、日本語で作成され たウェブページに英語版のブラウザでアクセスした場合な どに文字化けが起きることがある
25.
コメント 「何のため誰が入れたのか」をコメントとして記述する 参考URLがあればそれを貼り付ける (コメントが多くなったら命名やコードを見直すこと検討) 25 理由 コメントを明確に残すことで、他の開発者も触れるように する
26.
正しいHTMLを使う 悩んだらW3Cに目を通してみる http://momdo.github.io/html5/dom.html#dom 26 理由 W3Cの規定に沿うコーディングを目指す SEOの考慮と対立した場合は、W3Cの規定を優先する
27.
構造の分離 プレゼンテーション(スタイル)と 振る舞い(スクリプト)は、 ストラクチャ(マークアップ)から分離する 27 理由 メンテナンス性の向上 ファイルが分割し依存しないことで安易に修正が行える
28.
(例) 28 <!-- NG --> <h1
style="font-size: 1em;">HTML sucks</h1> <!-- OK --> <link rel="stylesheet" href="default.css"> <h1>My first CSS-only redesign</h1> 外部ファイルから スタイルを当てている
29.
文字参照 「<」や「&」のようにHTMLで特別な意味を持つものや、 特殊スペースのような「見えないもの」以外で文字参照を 使うことを避ける 29 理由 文字参照は主に「<」「>」が必要になってくる場面で使用 することは許容するが、対応していない機種なども考慮す るとそれ以外ではあまり使うべきではない
30.
(例) 30 <!-- NG --> The
currency symbol for the Euro is “&eur;”. <!-- OK --> The currency symbol for the Euro is “€”. なるべく文字参照 はNG
31.
マルチメディアの設定 alt属性でアクシビリティー向上のために画像が何を意味し ているのか記載する 31 理由 画像に対して代替として動作するテキストをユーザーに提 供できる
32.
(例) 32 <!-- NG --> <img
src="spreadsheet.png"> <!-- OK --> <img src="spreadsheet.png" alt="Spreadsheet screenshot."> alt属性の入力は ユーザーへの気遣い
33.
type属性 CSSとJavaScriptのtype属性は省略 33 理由 HTML5からtype属性は省略可能になったので、ファイル容 量の削減
34.
(例) 34 <!-- NG --> <link
rel="stylesheet" href="//www.google.com/css/maia.css" type="text/css"> <!--OK --> <link rel="stylesheet" href="//www.google.com/css/maia.css"> type属性は必要な い
35.
aタグ リンクはルート相対パスを基本とする (注意:案件によって柔軟に変更する) 35 理由 ファイル容量の削減 記述方法の統一化
36.
HTMLクォーテーション 属性値に使うクォーテーションは、 シングル(”)よりもダブル(””)が好ましい 36 理由 JavaScriptはHTMLの中で使用するのが想定されるため、 HTMLはダブルクオーテーション("")でJavaScriptはシング ルクオーテーション('')を使用するのを推奨している
37.
(例) 37 <!-- NG --> <a
class='maia-button maia-button-secondary'>Sign in</a> <!-- OK --> <a class="maia-button maia-button-secondary">Sign in</a> HTML内ではダブル("")にす る
38.
環境設定 38 CSSのルール HTMLのルール HTML/CSS共通ルールGitのルール CSSのルール 画像のルール
39.
CSS(基本の書式ルール) 39
40.
CSS設計(前提知識) CSSの教科書 http://goo.gl/MspHyM CSS設計手法 CSS設計はFLOCSSを使用する https://github.com/hiloki/flocss 40
41.
CSSファイル 1つのコンポーネントごとにファイルを分割する ファイル名はコンポーネントに使用しているクラス名を用 いる 41 理由 保守性が向上するため
42.
IDとClassの命名 IDとクラス名にはちゃんと意味の分かる名前を使う 見た目を反映したものやそれが何を表しているか不可解な 名前ではなく、要素の目的や役割を反映した名前を付ける 42 理由 制作した当事者以外が把握できるようにするため 修正に耐えやすいため
43.
(例) 43 /* NG クラス名だけだと把握できない
*/ .table01 {} /* NG: 見た目を表してる */ .btn-green {} /* OK */ .btn-primary {} /* OK: 役割を表してる */ .gallery {} .login {} .video {} 何を示しているのかがわかる 命名を意識する
44.
IDとクラスの命名スタイル 意味の分かる範囲でできるだけ短いIDとクラス名を使う 注意:短くしすぎて意味がわからなくなるようなのはNG 44 理由 ファイルサイズ節約のため
45.
(例) 45 /* NG */ #navigation
{} .atr {} /* OK */ #nav {} .author {} ※.atrだと省略しすぎ
46.
ID IDは原則使用せずクラスで対応する (ページ内リンクで使用する場合は例外とする) 46 理由 再利用性が低下するため (詳細度が高くなり管理しづらいため)
47.
タイプセレクタの記述 IDとクラス名にタイプセレクタは記述しない 47 理由 限定された要素以外に適用できなくなり、再利用性が低下 するため
48.
(例) 48 /* NG */ ul.example
{} div.error {} /* OK */ .example {} .error {} 要素に依存しないように する
49.
ショートハンドプロパティ ショートハンドを適宜使用する 49 理由 ファイル容量の節約のため
50.
(例) 50 /* NG */ padding-bottom:
2em; padding-left: 1em; padding-right: 1em; padding-top: 0; /* OK */ padding: 0 1em 2em; ショートハンドプロパテ ィで記述量を減らす
51.
「0」と単位 値が「0」なら単位を省略する 51 理由 ファイル容量の節約のため
52.
(例) 52 /* NG */ margin:
0px; padding: 0px; /* OK */ margin: 0; padding: 0;
53.
小数点の頭の「0」 小数点の頭の「0」は省略する 53 理由 ファイル容量の節約のため
54.
(例) 54 /* NG */ font-size:
0.8em; /* OK */ font-size: .8em; .数字にして記述量を減 らす
55.
URI値の引用符 url()での指定において、 ("")ダブルコーテーション、('')シングルコーテーション のURI値の引用符を省略する 55 理由 ファイル容量の節約のため
56.
(例) 56 /* NG */ background-image:
url("//www.google.com/css/.css"); /* OK */ background-image: url(//www.google.com/css/.css); ("")を省略する
57.
カラーコード カラーコードで3文字で表記できるものは3文字にする 57 理由 ファイル容量の節約のため
58.
(例) 58 /* NG */ color:
#ffffff; /* OK */ color: #fff;
59.
CSS書式ルール 59 理由 可読性向上のため ブロック単位のインデント 階層がわかるようにブロック単位でコードをインデントす る
60.
(例) 60 @media screen { html
{ background: #fff; color: #444; } } インデントは半角スペース2 つ
61.
プロパティの終端 61 理由 可読性向上のため すべてのプロパティの終端はセミコロンを書くこと
62.
(例) 62 /* NG */ .test
{ display: block; height: 100px } /* OK */ .test { display: block; height: 100px; } プロパティの終端には 必ずセミコロン(;)を書くようにす る
63.
プロパティ名の終端 63 理由 可読性向上のため すべてのプロパティ名の終端にはコロンの後にスペースを 入れること
64.
(例) 64 /* NG */ h3
{ font-weight:bold; } /* OK */ h3 { font-weight: bold; } 半角スペースを一つ空ける
65.
セレクタの終端 65 理由 可読性向上のため "{"の位置は、セレクタと同じ行に記述する セレクタとの間にはスペースをいれること
66.
(例) 66 /* NG */ .sample { color:
#399; } /* NG */ .sample{ color: #399; } /* OK */ .sample { color: #399; } 記述方法を統一する
67.
セレクタとプロパティの分離 67 理由 可読性向上のため 別々のセレクタとプロパティは改行して書くこと
68.
(例) 68 /* NG */ h1,
h2, h3 { font-weight: normal; line-height: 1.2; } /* OK */ h1, h2, h3 { font-weight: normal; line-height: 1.2; }
69.
CSSルールの分離 69 理由 可読性向上のため 別々のCSSルールは改行して一行間を空けて書く
70.
(例) 70 /* NG */ html
{ background: #fff; } body { margin: auto; } /* OK */ html { background: #fff; } body { margin: auto; } 改行を1つ空けるようにする
71.
コメント 71 理由 当事者以外が把握しやすくするため 必要に応じてコードを説明する コードにTODOを入れ、何のためのものか誰が入れたのか をコメントとして記述する
72.
BEMのセパレーター 72 理由 こちらの方が普及してるため 本来のBEMよりもセパレータが識別しやすいため MindBEMdingを採用する block__element--modifier
73.
BEMの粒度 73 理由 冗長なクラス名をさけるため 参考: http://qiita.com/hiloki@github/items/4fa99b8755a22878449e block__element__element は使用しない blockとの関係性を明示していれば問題ない
74.
(例) 74 /* NG */ <ul
class="navList"> <li class="navList__item"> <a class="navList__item__link" href=""></a> </li> </ul> /* OK */ <ul class="navList"> <li class="navList__item"> <a class="navList__link" href=""></a> </li> </ul> 冗長にならないようにする
75.
クラスの命名 75 理由 プレフィックスとモディファイアを認識しやすくする BEMを採用するとクラス名が冗長になるので少しでも短く するため クラス名にはキャメルケースを使用し、 プレフィックスとモディファイア以外でハイフンは使用し ない
76.
(例) 76 /* NG */ .c-ghost-btn--primary /*
OK */ .c-ghostBtn--primay ghostBtnがキャメルケースで 記述されている
77.
マルチクラス 77 理由 CSSでで重複する記述が減らせるため ファイル容量が減るため ルールセットの再利用性があがるため 保守性が向上するため コンポーネント設計のアプローチはマルチクラスを採用 (@extendを使用したシングルクラス設計の場合は可)
78.
スタイルの打ち消し 78 理由 ファイル容量の節約のため スタイルを打ち消さずにコンポーネントを定義する 打ち消しが発生する場合、1つのルールに過剰なスタイルを 追加しているので設計を見直す
79.
(例) 79 /* NG */ .headline
{ font-size: 2rem; margin-bottom: 10px; border-bottom: 1px solid #333; } .no-border { border: none; } /* OK */ .headline { font-size: 2rem; margin-bottom: 10px; } .headline--border { border-bottom: 1px solid #333; }
80.
絶対値 80 理由 不要なCSSを減らせるため 柔軟に対応できるようにするため絶対値は原則使用しない
81.
(例) 81 /* NG */ h1
{ font-size: 2.4rem; line-height: 32px; } .siteTitle { font-size: 3.6rem; line-height: 48px; } /* OK */ h1 { font-size: 2.4rem; line-height: 1.333; } .siteTitle { font-size: 2.4rem; }
82.
HTMLへの依存 82 理由 HTML内のタグが変更された際にCSSに影響がでないよう にするため 保守性が向上するため 可能な限りHTMLに依存させないように定義する
83.
(例) 83 /* NG */ <div
class="contents"> <div class="wrap"> <h2>Contents Title</h2> <p>Contents の本文が入ります。</p> </div> </div> .contents .wrap h2 { font-size: 2.4rem; } /* OK */ <div class="contents"> <div class="wrap"> <h2 class="headline">Contents Title</h2> <p>Contents の本文が入ります。</p> </div> </div> .headline { font-size: 2.4rem; }
84.
環境設定 84 CSSのルール HTMLのルール HTML/CSS共通ルールGitのルール HTML/CSS共通ルール 画像のルール
85.
HTML/CSSの共通ルール 85 HTMLファイル、CSSファイルの共通ルール
86.
英数字のみを使用する 86 理由 開く環境によっては、文字化けする可能性があるため ファイル名には日本語を使用せず、英数字にする
87.
機種依存文字の使用禁止 87 理由 記号と同様、エラーを引き起こす原因と成り得るため 機種に依存した文字を使用するのを禁止する (GoogleChromeなら変換時に右側に△マークがつくもは使 用しないようにする)
88.
必ずアルファベットから始める 88 理由 数字から開始しているid・class名は、認識されないため 必ずアルファベットからはじめ、数字から始めない
89.
ファイル名のスペースを禁止 89 理由 ファイルを正常に処理出来なくなる可能性があるため ファイル名をつけるときにスペースの使用を禁止する (動作はするので注意が必要)
90.
特定の文字を使用禁止 90 理由 Windowsでファイル名に使用することが出来ないため (その他の記号も使用をする際には注意が必要) 「」,「/」,「:」,「?」,「<」,「>」,「|」,「$」 上記のの文字の使用禁止
91.
環境設定 91 CSSのルール HTMLのルール HTML/CSS共通ルールGitのルール 画像のルール 画像のルール
92.
画像のルール 92 画像ファイルの命名に一定のルールを与えることで、 名前からその画像が何を示すのかを判断できるようにする
93.
ディレクトリ 93 共通で使い回す画像 → imgディレクトリ直下 ページ固有の画像
→ ページ名でフォルダを作成
94.
画像における命名規則 94 「種類」と「詳細」をアンダーバーでつなげる 種類_詳細.拡張子 (例) menu_contact.jpg
95.
デバイスごとに画像を分ける デバイスごとに画像を別にする際は、デバイスを追加する 種類_詳細_番号_デバイス.拡張子 (例) menu_contact_pc.jpg menu_contact_sp.jpg 95
96.
種類を6つに分類 96 bg : 背景 btn
: ボタン icon : アイコン txt : テキスト ttl : タイトル img : 画像
97.
詳細 97 種類に対して詳細な説明をする icon_arrow.png 複数単語を使用したい場合はキャメルケースでつなげる icon_arrowPrev.png
98.
番号 98 同じ用途の画像が複数あった場合に、番号を付ける icon_arrow_01.png ※svgにすることで1つの画像でまかなえる場合はsvgを 使用する
99.
画像のパス表記 99 理由 どの階層にあっても同じパスで指定できるため (インクルードしたファイルでもルート相対パスであれば 問題なく表示される) ルート相対パスを基本とする
100.
(例) 100 // NG <img src="../img/test.png"> <img
src="http://test.com/img/test.png"> // OK <img src="/img/test.png"> 相対パスのほうが記述量が 少ない
101.
最後に
102.
まとめ(余談) 102 • ルールは作ることより、浸透させることのほうが難しい • それでも項目一つ一つの認識を明文化することが大事 •
一貫したルールを守って作業を進めることは、将来的な 選択に多大な幸福をもたらしてくれる • READMEはプロジェクト毎に管理をして、柔軟にルール は変更するべきである
103.
参考文献 103 • メンテナブルCSS https://www.cyberagent.co.jp/techinfo/techreport/report/id=7926 • Harry
Roberts氏によるCSSガイドライン https://github.com/kiwanami/CSS-Guidelines • 「Google HTML/CSS Style Guide」を適当に和訳してみた」 http://re-dzine.net/2012/05/google-htmlcss-style-guide/ • HTML5日本語訳 http://momdo.github.io/html5/Overview.html • 新人コーダーに知っておいて欲しい命名規則の考え方[画像・ID・class名] http://html-coding.co.jp/knowhow/tips/naming-rule/ • Jade https://gist.github.com/japboy/5402844 • こんなHTMLとCSSのコーディング規約で書きたい http://qiita.com/pugiemonn/items/964203782e1fcb3d02c3 多くの方々の知恵を参考とさせていただきました 心より感謝いたします
104.
• Code smells
in CSS http://article.enja.io/articles/code-smells-in-css.html • CSS設計の基礎を見直す http://gihyo.jp/dev/serial/01/js-foundation/0009 • 100年後も崩れないCSS勉強会 第1回「詳細度」 http://pepabo.github.io/css/specificity/ • 100年後も崩れないCSS勉強会 第2回「コンポーネント」 http://pepabo.github.io/css/component/ • [CSS] Object Oriented CSSを学んで綺麗なコードを書く http://www.yoheim.net/blog.php?q=20141201 • SMACSS 読んだ http://chroma.hatenablog.com/entry/2013/07/22/120818 • BEMとは何か? https://github.com/juno/bem-methodology-ja/blob/master/definitions.md • 使いやすいWordPressのためのCSSのつくりかた http://www.slideshare.net/Toro_Unit/wordpresscss 104
Download