WebGPUを使うための「HTML5+CSS+JavaScript」の文法を学ぼう

CSSの文法
CSSはカスケードスタイルシート(Cascading Style Sheets)の頭文字をとった略語で、HTML5文書のタグを装飾します。例えば<img>タグの「width」プロパティを500pxに指定すると、画像の幅を500pxのサイズに拡大縮小してセットします。
以前のCSSは装飾だけでプログラミング言語の部類には入らなかったのですが、最近では3Dアニメーションするような制御まででき、プログラミング言語に近いと言っても良いのではないでしょうか。またcalc関数で加減乗除の計算もできるためプログラミングに近いかもしれません。
CSSの書式
CSSはHTML5の「タグセレクタ」やタグのclass属性「.セレクタ」、id属性「#セレクタ」などのセレクタを指定し、その後に「{」と「}」で囲んだ中にプロパティとその値を指定することでセレクタを装飾します。具体的には、次の書式を参照してください。
・CSSの書式セレクタ { プロパティ: 値; プロパティ: 値; }
CSSを使った例
次のサンプルコード「css」→「main.css」(図3)は本連載で使う全ての装飾を含んでいるため、今回は使わないセレクタも含んでいます。今回使うタグなどのセレクタは「html」「body」「header」「h1」「nav」「a」「a:hover」「nav a」だけです。
・サンプルコード「css」→「main.css」html, body { font-family:Meiryo,"Hiragino Kaku Gothic Pro"; min-height: 100%; height: 100%; margin: 0; padding: 0; position: relative; user-select: none; } header { overflow:hidden; width: 100%; margin: 0; padding: 0; } h1 { float: left; padding: 0; margin: 10px 0 0 0; } h2 { clear: both; } h3 { margin: 40px 0; padding: 40px 0; } nav { float: right; text-align: center; } footer { width: 100%; margin: 40px 0; padding: 0; } a { color: #000; text-decoration: underline; } a:hover { color: #fff; background-color: #000; text-decoration: none; } nav a { float: left; margin: 0; padding: 20px 10px; font-size: 80%; text-decoration: none; font-weight: bold; max-width: 100px; } #CanvasAnimation { position: -webkit-fixed; position: fixed; width: 100%; height: 100%; z-index: 0; } #container { position: relative; z-index: 1; padding: 0 10px; } ul { clear: both; } li { width: 100%; padding: 5px 0; } #space { clear: both; height: 300px; }
【サンプルコードの解説】
「html」「body」タグでフォントを指定し、最小高さ、高さ、外余白、内余白、ポジション、ユーザー選択をセットします。
「header」タグでオーバーフロー、幅、外余白、内余白をセットします。
「h1」タグで横並べ、内余白、外余白をセットします。
「h2」タグで横並べをクリアします。
「h3」タグで外余白、内余白をセットします。
「nav」タグで横並べ、中央寄せをセットします。
「footer」タグで幅、外余白、内余白をセットします。
「a」タグで色、テキスト装飾をセットします。
「a:hover」セレクタで色、背景色、テキスト装飾をセットします。
「nav」タグ内の「a」タグで横並べ、外余白、内余白、フォントサイズ、テキスト装飾、フォントの太さ、最大幅をセットします。
id属性「#CanvasAnimation」セレクタでポジション、幅、高さ、奥の重なり順をセットします。
id属性「#container」セレクタでポジション、奥の重なり順、内余白をセットします。
「ul」タグで横並べをクリアします。
「li」タグで幅、内余白をセットします。
「#space」セレクタで横並べをクリアし、高さをセットします。