もくじ
「Webサイト制作のワークショップ」のメモです。
頭で理解するよりも手で覚えることが大切。たとえば普段使っている Photoshop のショートカットを口で説明しようとすると、すぐには出てこない。手の形で覚えているため。エディタの基本的なショートカットを使いながら、サンプルデータを使ってまずは写経のようになぞっていく。
enjoy!
HTML/CSS/JavaScript
ざっくりいうと…
- HTML はコンテンツの構造
- CSS はデザイン
- JavaScript は動き
特殊なテキストエディタを使う理由
html は単なるテキストファイルなので、そもそもどんなエディタでも編集できる。わざわざコーディングに適したエディタを使う理由は…
- コード補完の機能があるので高速なコーディングが可能。
- 要素によって色分けされるシンタックスハイライトによって、コードが読みやすくなる。
- ディスプレイは発光しているので、白いウインドウだと目が疲れる。自分好みのテーマを設定できる。
主なテキストエディタ/オーサリングソフト。
など。ここでは ATOM を使っていく。
ATOM|インストールと基本的な設定Emmet の使い方
コーディングを効率化するためのプラグイン。コマンドを打って[tabキー]でコードを展開できる。以下はリストタグの展開例。
<ul>
<li></li>
<li></li>
<li></li>
</ul>
<ul>
<li>テキスト1</li>
<li>テキスト2</li>
<li>テキスト3</li>
</ul>
<ul id="menu">
<li></li>
<li></li>
<li></li>
</ul>
<ul class="menu">
<li></li>
<li></li>
<li></li>
</ul>
ファイルを開くアプリを設定する
Finder で html ファイルを選択して、「情報を見る(command+I)」から、「このアプリケーションで開く」に割り当てられているアプリを ATOM に変更する。同じく css/js/その他ファイルも同じく変更する。
html の基本構造
- head|メタ情報、css、js など外部ファイルの読み込み
- body|コンテンツ
- nav|ナビゲーション
- header|ヘッダー
- footer|フッター
html 基本タグ
主な html タグ。内容に合った正しいタグでマークアップしていく。開始タグと終了タグがセットになっているものと、img や br のように終了タグのないものもある。
- header|ヘッダー
- footer|フッター
- nav|ナビゲーション
- article|コンテンツ
- section|コンテンツ内の1ブロック
- aside|サブコンテンツ、サイドメニューなど
- h1 – h6|見出し
- p|段落|paragraph
- br|改行|break
- ul|順序のないリスト|Unordered List
- ol|順序のあるリスト|Ordered List
- li|リスト|list
- table| 表組み
- img|画像
- a|リンク
- div|ブロック要素
- span|インライン要素
id と class
- id|ページ内にひとつだけ|header、footer など
- class|ページ内に複数|再利用してページ内でデザインを統一する場合|見出しなど
id/class の名前は自由に決められるが、wrapper、container など一般的に使われる名前がある。red-text のようにデザイン要素は記述せずに、warning-text のように要素の役割がわかる名前をつける。red-text にすると、デザインや色が変わった場合に矛盾が発生するため。
CSS でのスタイリング
- InDesign のスタイルシートと同じように、同じスタイルの要素がすべて同じデザインに統一される。
- 上から下へと内容が上書きされるので、後に書いたものが優先される。
- class よりも id が優先される。
カラー指定
16進法が基本
例)#ccc(#cccccc)
RGBA(Aは透明度)
例)rgba(204,204,204,1)
配色ツール
Adobe Color CC
width で幅を指定する
幅を指定する width プロパティは、ピクセルとパーセントの指定を組み合わせられる。
- width: 100%;|通常の幅
- max-width: 1200px;|幅の上限
- min-width: 960px;|幅の下限
ul と ol のリストの違い
- ul|順序のないリスト|Unordered List
- ol|順序のあるリスト|Ordered List
リストのスタイリング
- ul|list-style: square inside;
- ol|list-style: decimal inside;
リストの字下げ
margin: 0 0 0 1em;
list-style: disc outside;
要素の float
内包する要素が float している場合、float を解除する clearfix を親要素に追加する。
.cf:before,
.cf:after
content:"";
display:table;
}
.cf:after
clear:both;
}
.cf
zoom:1;
}
css の margin と padding
- margin|ボックスの外側の余白
- padding|ボックスの内側の余白
- margin: 20px;|上下左右
- margin: 20px 20px; |上下、左右
- margin: 20px 20px 20px; |上、左右、下
- margin: 20px 20px 20px 20px; |上、右、下、左
box-sizing
CSS3 からの対応。padding と border によってボックスサイズが変わるのではなく、常にボックスサイズを固定できる。padding と border の分だけボックスサイズの内側が小さくなる。
*, *:before, *:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}
reset.css でリセットしているもの
html {
color: #000;
background: #FFF
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
margin: 0;
padding: 0
}
table {
border-collapse: collapse;
border-spacing: 0
}
fieldset, img {
border: 0
}
address, caption, cite, code, dfn, em, strong, th, var {
font-style: normal;
font-weight: normal
}
ol, ul {
list-style: none
}
caption, th {
text-align: left
}
h1, h2, h3, h4, h5, h6 {
font-size: 100%;
font-weight: normal
}
q:before, q:after {
content: ''
}
abbr, acronym {
border: 0;
font-variant: normal
}
sup {
vertical-align: text-top
}
sub {
vertical-align: text-bottom
}
input, textarea, select {
font-family: inherit;
font-size: inherit;
font-weight: inherit
}
input, textarea, select {
*font-size: 100%
}
legend {
color: #000
}
擬似クラス
li:first-child|最初の子要素
li:last-child|最後の子要素
<ul>
<li>最初の子要素</li>
<li>2番めの子要素</li>
<li>最後の子要素</li>
</ul>
li:nth-child(even)|偶数
li:nth-child(odd)|奇数
<ul>
<li>奇数</li>
<li>偶数</li>
<li>奇数</li>
</ul>
SmoothScroll の使い方
ページ内リンクのアニメーション。「このページのトップにもどる」をクリックした際に、スムーズに移動する。ページ内の id を指定する。
<a href="#top">top</a>
jQuery 3
1系と2系に分かれていたが、サポート終了したIE8を動作対象から外すことで、3系に統一された。とはいえ、jQuery のプラグインの対応状況もあるので、必ずしも3系だけで大丈夫とは限らない。
このように書く必要はなくなった。
<!-- JQuery -->
<!--[if lt IE 9]>
<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
<![endif]-->
<!--[if gte IE 9]>
<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
<!--[if !IE]>-->
<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
<![endif]-->
<!-- /JQuery -->
これだけでよくなった。
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
ライブラリ(外部ファイル)は可能な限りサーバーには置かず、CDN(Contents Delivery Network)を利用することで、ページ読み込み速度の向上につながる。
コメントアウト
html や css に過度なコメントタグはいらない。美しいコードは語る。
宿題
iOS ヒューマンインターフェイスガイドライン(HIG)は、デベロッパー向けのガイドラインというよりは、UIデザインのバイブルです。ぜひ読んでみてください。
これはWebページです。
数年前にバズったページです。
iOS ヒューマンインターフェイスガイドライン
iOS のアプリを作るデベロッパーに向けたガイドラインです。iPhoneがどんな考えのもとに設計されているか書かれています。