基本仕様
- HTML文書型:HTML5
- 文字コード:UTF-8(BOM無し)
- 改行コード:CR+LF
- パス記述方式・リンクルール
- サイト内ページへのリンク、画像パスは「/」始まりのルートパスで記述
- リンク先ページのファイル名がindex.htmlの場合、URLの記述はindex.htmlを省略し、「/(スラッシュ)」で止める
- サイト内のコンテンツへは、原則として同一ウインドウ内でのリンク設定にする(target指定なし)
- 制作対象となるサイトから他サイトのページへリンクを設定する場合、新規の別ウインドウが開くリンク設定をする(target="_blank")
- レイアウト:レスポンシブウェブデザイン(ブレイクポイントは下記参照)
- CMS : 使用しない
対応ブラウザ
Windows
- IE11
- edge
- Firefox(最新版)
- Chrome(最新版)
Mac OS
- Safari(最新版)
- Firefox(最新版)
- Chrome(最新版)
iOS8+
- Safari
Android 4.4+
- Android Browser
- Chrome
ディレクトリ構造・ファイルの命名規則
ディレクトリについて
xxxxx.co.jp │ ├─ xxx … 各HTML用ディレクトリ。 │ └─ assets … 画像やCSSなどのリソースをまとめます ├─ css │ ├─ styles.css … サイトで共通で使われるCSSファイル │ └─ xxxxx.css … 特定のページやカテゴリだけで使用されるcss │ ├─ js │ ├─ lib … jQueryなどのライブラリ・プラグインはここに入れる │ ├─ common.js … サイトで共通で使われるJSファイル │ └─ xxxxx.js … 特定のページやカテゴリだけで使用されるjs(多い場合はフォルダにする) │ ├─ images │ ├─ common … サイトで共通で使われる画像ファイルを格納 │ └─ xxxxx … 特定のページやカテゴリだけで使用される画像を格納 │ └─ fonts … アイコンフォント
サイトで利用されるリソースはルート直下の 「assets」 ディレクトリ内に格納します。
ただし、CMSやツールで生成・アップロードされるリソースに関しては別とします。
記述規則
ファイル名、ディレクトリ名には半角英数字を使用。
全角文字、大文字の使用は原則禁止。
CSSに関して
命名規則
スタイルはidを使わずにclassを使用。
idはアンカーリンクやJavaScriptの動作用にのみ使用。BEM
を採用しますが、その限りではない。
クラス名はキャメルケースとし、エレメントの区切り文字には_
を、モディファイアの区切り文字には-
を使用。
ex:mainBlock_element-modifier
一部のクラスには、接頭辞をつける(SMACSS・FLOCSSを参考に)
l-
レイアウト用のクラスis-
状態を表すクラス。単体では使わずにマルチクラスの時だけスタイルをつけるようにする。
JavaScriptを使用して状態が変わるものなどに使用。
ex:is-current
is-open
js-
JavaScriptで使用されるタグに使用。原則、スタイルはつけずに装飾は別のクラスを使って行う。
Sass(Scss記法)を使用。
設計について
モジュール(BEMでいうBlock)にはmarginやpositionなどの位置を指定するプロパティは出来るだけ記述しない。 モジュールは、どの場所にもおけることを前提としているので、想定外のところで干渉して問題が起こらないように、モジュールとレイアウト用のクラスを組み合わせて、ページを組んでいくようにする。
ただ、やりすぎるとHTMLにスタイル書いてるのと変わらないので、マルチクラスで4個も5個もクラス指定が入るようなら、別のモジュールに出来ないか、デザイン上の設計に問題がないかなどを考える。
レイアウトやモジュールの参考
ブレイクポイント
ブレイクポイント
基本的に以下の値で設定していますが、必要な場合は他の値も使用する。
- [ xs ] 〜479px ( スマートフォン縦 )
- [ sm ] 480px 〜 767px ( スマートフォン横・小さいタブレットの縦 )
- [ md ] 768px 〜 1023px( タブレット・ノートPCなど )
- [ lg ] 1024PX( ワイドスクリーンのPC )
- 1024px以上は余白が広がる仕様で、最大コンテンツ幅は1020px(余白なしで980px)
用意しているSass変数
$xs-max
: 479px;$sm-min
: 480px;$sm-max
: 767px;$md-min
: 768px;$md-max
: 1023px;$lg-min
: 1024px;
メディアクエリ記述サンプル
メディアクエリの記述順序はモバイルファーストとする。
min-width
で指定をする場合は、印刷対策としてprint
も設定。印刷するのは、PCで見てる場合などの大きいサイズが想定されるため。
逆にmax-width
で指定をする場合は、print
を設定しない。
通常の書き方
// xsサイズ ( スマートフォン縦 ) 用の記述 .sample { ... } @media print, screen and (min-width: 480px) { // smサイズ ( スマートフォン横・小さいタブレットの縦 ) 用の記述 .sample { ... } } @media print, screen and (min-width: 768px) { // mdサイズ ( タブレット・ノートPCなど ) 用の記述 .sample { ... } } @media print, screen and (min-width: 1024px) { // lgサイズ( ワイドスクリーンのPC )用の記述 .sample { ... } } @media screen and (max-width: 479px) { // mdサイズより小さいサイズ用の記述 .sample { ... } }
SassのMixinと変数を使用
// xsサイズ ( スマートフォン縦 ) 用の記述 .sample { ... } @include mq(smMin) { // smサイズ ( スマートフォン横・小さいタブレットの縦 ) 用の記述 .sample { ... } } @include mq(mdMin) { // mdサイズ ( タブレット・ノートPCなど ) 用の記述 .sample { ... } } @include mq(lgMin) { // lgサイズ( ワイドスクリーンのPC )用の記述 .sample { ... } } @include mq(smMax) { // mdサイズより小さいサイズ用の記述 .sample { ... } }
JavaScriptに関して
使用ライブラリ
- jQuery(3.1.1)
- xxxxx
使用プラグイン
記述規則
- 命名は変数・関数ともにキャメルケースで書く。
- 出来る限りわかりやすく書く。わかりづらいところはコメントを書く。
- グローバル変数は出来る限り使わない。
Webフォントに関して
アイコンフォントを作成して使用。
開発環境について
ビルドツールはGulpを使用。
詳細はリポジトリ直下のREADMEを参照。