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;
}

図3:CSSでHTML5のタグを装飾したWebページ

【サンプルコードの解説】
「html」「body」タグでフォントを指定し、最小高さ、高さ、外余白、内余白、ポジション、ユーザー選択をセットします。
「header」タグでオーバーフロー、幅、外余白、内余白をセットします。
「h1」タグで横並べ、内余白、外余白をセットします。
「h2」タグで横並べをクリアします。
「h3」タグで外余白、内余白をセットします。
「nav」タグで横並べ、中央寄せをセットします。
「footer」タグで幅、外余白、内余白をセットします。
「a」タグで色、テキスト装飾をセットします。
「a:hover」セレクタで色、背景色、テキスト装飾をセットします。
「nav」タグ内の「a」タグで横並べ、外余白、内余白、フォントサイズ、テキスト装飾、フォントの太さ、最大幅をセットします。
id属性「#CanvasAnimation」セレクタでポジション、幅、高さ、奥の重なり順をセットします。
id属性「#container」セレクタでポジション、奥の重なり順、内余白をセットします。
「ul」タグで横並べをクリアします。
「li」タグで幅、内余白をセットします。
「#space」セレクタで横並べをクリアし、高さをセットします。

この記事のキーワード :

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30