Webデザイン教育

Solve your problems or get new ideas with basic brainstorming

Get Started. It's Free
or sign up with your email address
Rocket clouds
Webデザイン教育 by Mind Map: Webデザイン教育

1. CSS

1.1. ボックスモデル

1.1.1. DOM要素

1.1.1.1. 各要素が生成する四角い領域

1.1.2. モデル要素

1.1.2.1. コンテンツ

1.1.2.2. ボーダー

1.1.2.2.1. ボーダーのサイズもモデル要素のサイズに影響するよ

1.1.2.2.2. ボーダーのサイズが指定されている場合と 指定されていない場合で他要素のmargin 指定などに影響することも!? 不思議だ・・・・

1.1.2.3. パディング

1.1.2.3.1. コンテンツとボーダーまでの間

1.1.2.4. マージン

1.1.2.4.1. ボーダーと他のモデル要素までの間

1.1.2.4.2. マージンの相殺

1.1.3. インラインボックス

1.1.3.1. ボックス内での要素配置が横に並ぶ

1.1.3.2. <a> <span> <strong> など

1.1.3.3. 匿名インラインボックス

1.1.3.3.1. <div> <a href="#">リンク</a> ここは何も指定してないけど。。。 </div>

1.1.4. ブロックボックス

1.1.4.1. ボックス内での要素配置が縦に並ぶ

1.1.4.2. <div> <p> <h1>~<h6>など

1.1.4.3. 匿名ブロックボックス

1.1.4.3.1. <div> <p>P要素明示</p> ここは何も指定してないけど。。。 </div>

1.1.4.4. width や height の指定が可能! インライン要素では【基本的に】指定できないよ!!

1.1.4.4.1. ちなみに、インライン要素でも width や heightが指定できるものは

1.1.5. displayプロパティ

1.1.5.1. display: block;

1.1.5.2. display: inline;

1.1.5.3. 他にもあるけどこれで十分!

1.2. 包含ブロック

1.2.1. 子孫要素を配置する事ができる領域

1.2.1.1. widthを指定しない場合ね

1.3. フロート

1.3.1. ブロック要素を浮かせて右または左に移動する

1.3.2. widthを指定しなければいけない

1.3.3. position: relative;を親要素に指定する!

1.3.4. float: left; float: right;

1.3.5. フロートのルール

1.3.5.1. 包含ブロックの親要素(ブロック要素)からはみ出ることはない

1.3.5.2. 左にフロートされた要素の右側に次のフロート要素がくる ※右側に配置するスペースがない場合は下に配置される

1.3.5.3. フロートボックス同士は重ならない

1.3.5.4. フロートされたボックスは出来る限り 上に配置されなければならない(余分な余白はない)

1.3.5.5. フローとされたボックスはできる限り 左に(または右に)配置されなければならない

1.3.5.6. clearプロパティが指定されたボックスの 下辺に配置されなければならない

1.3.6. clear: left; clear: right; clear: both;

1.3.6.1. 指定された要素のフロートを解除 フロート要素の回り込みをキャンセルする

1.4. 絶対位置

1.4.1. position: absolute;

1.4.2. position: relative; 親要素にこの指定がされていると、 その親要素からの相対位置で指定可能

1.4.2.1. 基本的には「position: relative; を指定した要素」の中の要素に position: absolute;を指定すること!!

1.4.3. top: left: で基本的には位置を指定 right: bottom: もあるよ。

1.4.4. フロートと同じように絶対位置指定すると、 他の要素に対して浮いているようになる。

1.5. 固定配置

1.5.1. position: fixed;

1.5.2. ウインドウに対して絶対配置される

1.6. 重なり順序

1.6.1. z-index: 99999

1.6.2. 基本は、後に(下に)記載するHTMLのDOM要素が手前に表示される

1.7. id / class は覚えておこう!

1.8. CSSリセットも覚えておこう!

2. HTML

2.1. DOCTYPE宣言が重要!

2.1.1. ざっくりと

2.1.1.1. HTML

2.1.1.1.1. スクロールしても常に上部に固定されているヘッダーやサイドバーなどに活用

2.1.1.1.2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

2.1.1.1.3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

2.1.1.2. XHTML

2.1.1.2.1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

2.1.1.2.2. 閉じタグ必須

2.1.1.2.3. シングルタグの場合は /> で終わること

2.1.1.3. HTML5

2.1.1.3.1. <!DOCTYPE html>

2.1.1.3.2. たったこれだけ

2.1.2. DOCTYPE宣言が無いと

2.1.2.1. 基本的には下位互換モードで動作してしまう

2.2. DOM

2.2.1. Document Object Model

2.2.2. HTMLドキュメントをツリー構造に表現したもの

2.3. よく利用されるHTMLのタグは覚えておこう!

2.3.1. formタグ

2.3.1.1. inputタグ

2.3.1.2. textareaタグ

2.3.1.3. selectタグ

2.3.2. divタグ

2.3.3. spanタグ

2.3.4. div と spanタグって何が違う?

2.4. id と class の違いって何だろう?

2.4.1. idはHTML内で一意となる要素に指定

2.4.2. classはHTML内で複数の要素で重複するものに指定

3. CSS3でできるようになったこと

3.1. 基本「今まで画像を使ってた」デザインを 画像ではなく「CSSの指定」で実現できるようになりました

3.2. シャドウ(影)をつける

3.2.1. テキストに

3.2.2. ボックスに

3.2.2.1. ボックスにシャドウを付けると ボックス要素が浮いているように見える

3.3. RGBaでの色指定+alpha(透明度)指定

3.3.1. background-color: rgba(0,0,255,0.1);

3.3.2. 透明度はほかにもある

3.3.2.1. opacity: 0.4;

3.4. 背景にグラデーション指定

3.4.1. gradient

3.4.2. グラデーション指定は ベンダープレフィックスの数がすごい!

3.4.2.1. http://www.colorzilla.com/gradient-editor/ こんなサイトで自動生成するのがオススメ!

3.5. オブジェクトの回転

3.5.1. transform: rotate(-5deg);

3.6. オブジェクトの縮小

3.6.1. transform: scale(.8);

3.7. ボックスのリサイズ

3.7.1. resize: both; resize: none; resize: horizontal; resize: vertical;

3.8. 単語の改行

3.8.1. word-wrap: break-word;

3.8.2. すごく重要!

3.8.2.1. 連続した半角英数字はボックス内で自動改行されない! すごく長いURLなどを画面上(たとえばテーブルタグの中など)に表示すると、 widthを指定していてもレイアウト崩れが発生する!! Webの画面を作っていると必ず出くわすレイアウト崩れの基本的問題です

3.9. Webフォントの利用

3.9.1. @font-face { font-family: 'FontAwesome'; src: url('../font/fontawesome-webfont.eot?v=3.0.1'); src: url('../font/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'), url('../font/fontawesome-webfont.woff?v=3.0.1') format('woff'), url('../font/fontawesome-webfont.ttf?v=3.0.1') format('truetype'); font-weight: normal; font-style: normal; }

3.9.2. これも重要!

3.9.2.1. フォントと聞くと「文字」と思いがちですよね? それだけじゃない! FontAwesomeというサイトを例にすると、 画像のようなアイコンがフォントとして提供されています。

3.9.2.1.1. え?何が良い?

3.10. 角が丸まったボックス

3.10.1. -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px;

3.10.1.1. CSS3より前の時代では 画像で表現してましたよね?

3.11. 細かいものだとほかにもあるけどこんなもんです

3.12. ベンダープレフィックス

3.12.1. IEやChromeなど ブラウザごとに対応の割合が違う

3.12.2. http://caniuse.com/ このサイトで確認しよう!

4. レンダリングエンジン

4.1. HTMLやCSSなどを解析し、 ブラウザ上の配置やサイズを計算・描画するエンジン

4.2. Trident

4.2.1. Internet Exploler

4.2.1.1. -ms-

4.3. Gecko

4.3.1. Firefox

4.3.1.1. -moz-

4.4. Webkit

4.4.1. Google Chrome

4.4.1.1. -webkit-

4.4.2. Safari

4.4.2.1. -webkit-

4.4.3. Androidの標準ブラウザ

4.4.3.1. -webkit-

4.5. Presto

4.5.1. Opera

4.5.1.1. -o-

5. javascript

5.1. AJAX

5.2. DOMの操作

5.2.1. getElementsByName

5.2.2. getElementById

5.3. onloadイベント

5.3.1. ブラウザごとにonloadイベントの走るタイミングが異なる?

5.3.1.1. IEだとヒストリーバック(ブラウザの戻るボタン押下など)で 画面が表示されるとonloadイベントが実行される

5.3.1.2. FirefoxやChromeなどはヒストリーバックで 画面が表示されてもonloadイベントは実行されない

6. おすすめ

6.1. jQuery

6.1.1. jQuery本体

6.1.1.1. ブラウザ間のjavascriptの挙動誤差を吸収

6.1.1.2. コーディング量の削減

6.1.1.3. Web上に公開されているサイトの 56.1% が利用しているライブラリ ※信頼性がかなり高い http://w3techs.com/

6.1.1.4. AJAX通信を簡単に実現

6.1.2. jQuery UI

6.1.2.1. デザインに特化したライブラリ

6.1.2.2. ドラッグ&ドロップ機能

6.1.2.3. アニメーションの強化機能

6.1.2.4. などなど

6.1.3. jQuery Validation

6.1.3.1. 入力チェックのライブラリ

6.1.3.2. 入力途中でチェックし リアルタイムにエラーメッセージ出力など

6.2. twitter bootstrap

6.2.1. ボックスレイアウトでのシンプルなデザインを提供 javascript と css のセットライブラリ

6.2.2. レスポンシブWebデザインを簡単に実装可能

6.3. ドットインストール

6.3.1. 様々な技術の入門Webセミナー(無料)

6.3.2. http://dotinstall.com/

6.3.3. サイト自体も twitter bootstrap で作られている

7. まぁレイアウトは

7.1. ヘッダーがあり

7.2. メニューバーがあり

7.3. コンテンツ領域があり

7.4. フッターがある

8. HTML5でできるようになったこと

8.1. フォーム要素に対する placeholderの指定

8.2. 構造化タグ

8.2.1. headerタグ

8.2.2. sectionタグ

8.2.2.1. articleタグ

8.2.3. naviタグ

8.2.4. footerタグ

8.3. canvas

8.4. Webストレージ

8.4.1. ローカルストレージ

8.4.2. セッションストレージ

8.5. autofocus