0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CSSマスターへの道「CSSアート」

Last updated at Posted at 2026-01-04

Day 22 です。

Phase 4「モダン CSS と総合演習」の 2 日目です。
今日は少し趣向を変えて、クリエイティブな息抜き回です。

テーマは 「CSS アート」
画像ファイルを一切使わず、コードだけで絵を描きます。
「実務で使わないでしょ?」と思うかもしれませんが、実は CSS アート は 「Position(配置)」と「疑似要素」の特訓に最適 なのです。

たった 1 つの <div> タグから、無限の世界を作り出しましょう。


はじめに:HTML タグは「画用紙」

CSS アートの基本ルールは、「HTML は最小限にする」 ことです。
通常、1 つの div タグがあれば、CSS の疑似要素(::before, ::after)を使って、合計 3 つのパーツ(本体、before、after)を扱うことができます。

  • 本体:顔の輪郭
  • before:左目
  • after:右目

このようにパーツを割り当てて、積み木のように重ねていくのが CSS アートの醍醐味です。


🎯 本日の目標

  1. シングル Div: HTML タグを 1 つだけ使い、それ以外は CSS だけで表現する。
  2. 疑似要素の配置: 親要素(本体)を基準に、absolute でパーツを自由な位置に置く。
  3. ボーダーと円: borderbox-shadow を工夫して、図形を描く。

📝 ミッション内容

たった 1 行の HTML <div class="camera"></div> を、CSS の力で「カメラのアイコン」に変身させてください。

  • 本体 (.camera): カメラのボディ(四角形)。
  • 疑似要素 1 (::before): カメラのレンズ(大きな円)。
  • 疑似要素 2 (::after): フラッシュやファインダー(小さな円)。

💻 実装サンプル

インスタグラムのロゴのような、シンプルでモダンなカメラを作ってみましょう。

正解例

See the Pen CSSマスターへの道「CSSアート」 by サカツ (@saka2jp) on CodePen.


🧠 解説と重要ポイント

1. パーツの役割分担

  • .camera: 土台となる画用紙です。ここに position: relative を指定するのが絶対条件です。
  • ::before / ::after: 装飾用のパーツです。必ず content: '';position: absolute を指定して、土台の上に配置します。

2. 図形描画のテクニック

  • 円を作る: widthheight を同じにして、border-radius: 50%
  • ドーナツ型を作る: 背景色(background)を透明にして、border だけに色をつける(今回のレンズ部分で使用)。
  • 三角形を作る: width: 0; height: 0; border: ... を使う(Day 24 のアコーディオンなどで使います)。

3. 中央寄せの定番コード

CSS アートでは、パーツを親の中心に置くことが非常に多いです。

top: 50%;
left: 50%;
transform: translate(-50%, -50%);

この 3 行は、息をするように書けるようになりましょう。


💡 応用:box-shadow で分身の術

「パーツが 3 つじゃ足りない。もっと描きたい」
そんな時は、box-shadow を使います。実は box-shadow は、影だけでなく 「要素のコピー」 を好きな場所に量産できるのです。

/* 例:1 つの丸い div から、3 つの団子を作る */
.dango {
  width: 20px;
  height: 20px;
  background: green;
  border-radius: 50%;

  /* 
    影を使って、本体の上に 2 つコピーを作る 
    x 方向, y 方向, ぼかし(0 にする), 広がり, 色
  */
  box-shadow: 0 -25px 0 0 white, /* 上の団子(白) */ 0 -50px 0 0 pink; /* さらに上の団子(ピンク) */
}

これを使えば、ドット絵のように複雑なイラストも 1 つのタグで描けてしまいます。


おわりに

CSS アートを描いていると、
「あ、absolute の基準点はここか」「z-index で重ね順を変えなきゃ」
といった、レイアウトの感覚が直感的に身につきます

楽しみながら、Position プロパティの完全マスターを目指しましょう。

次回は 「実践 UI トレース」 です。
お絵描きの次は模写です。有名な Web サイトのパーツを、実際にコードに落とし込む「エンジニアの写経」に挑戦しましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?