サイトの雰囲気を左右するボックスデザイン。コピペに頼らず、自分で作れるようになったら楽しいですよね。
そこで、ボックスデザインのためによく使われているCSSプロパティを集め、その使い方を検証してみました。
CSSにおける[ボックスモデル]の基本
CSSでは『すべての要素はその周囲を取り囲む四角形の領域である「ボックス」を持つ』という定義があり、そのボックスは[コンテンツ]+[パディング]+[ボーダー]+[マージン]で成り立っています。
この構成を理解したうえで、要素に対し、背景色・枠線・枠線のスタイル、などを組み合わせてボックスをデザインしていきます。
ボックスデザインに使えるCSSプロパティ
background : 背景
background
は色や画像など、背景に関する全てのスタイルプロパティを一括で設定できるプロパティです。
backgroundの各プロパティ
- background-attachment
- 画面のスクロールバーに合わせて、背景画像を固定表示するかスクロールさせるかを指定する。
- background-clip
- 背景画像を表示する範囲を指定する。
- background-color
- 背景色を指定する。
- background-image
- 背景画像を指定する。
- background-origin
- 背景画像を表示する基準位置を指定する。
- background-position
- 背景画像を表示する水平・垂直位置を指定する。
- background-repeat
- 背景画像の繰り返しを指定する。
- background-size
- 背景画像の表示サイズを指定する。
background
は一括指定プロパティなので、半角スペースで区切って上の各プロパティを指定することができます。
<p class="box-type1">ABCDEFG abcdefg</p>
.box-type1{
background: #dddbff;
}
ABCDEFG abcdefg
こちら→ の画像を背景として縦に並べてみます。
<p class="box-type2">
ABCDEFG<br>
HIJKLMN<br>
OPQRSTU<br>
abcdefg<br>
hijklmn<br>
OPQRSTU
</p>
.box-type2{
background: #ddddff url(wallppr.gif) repeat-y;
}
ABCDEFG
HIJKLMN
OPQRSTU
abcdefg
hijklmn
opqrstu
border: 枠線
border
は枠線(境界線)を指定する一括プロパティで、 border-width
, border-style
, border-color
の3つを指定します。記述する順序は決まっていません。
borderの各プロパティ
- border-width
- 枠線の幅(太さ)を指定します。
- border-style
- 枠線の種類(実線、点線、破線など)を指定します。
- border-color
- 枠線の色を指定します。
border
は、上下左右の四辺をすべて同じに設定したい場合に使うと便利です。
styleを指定しない場合は、styleの既定値none
となり、枠線は表示されません。
<p class="box-border1">
要素の周囲に枠線を表示します。
</p>
.box-border1{
border: 2px solid tomato;
}
要素の周囲に枠線を表示します。
borderの一辺ずつ指定する場合は、
border-top
・・・ 上辺border-right
・・・ 右辺border-bottom
・・・ 下辺border-left
・・・ 左辺
を使います。
各プロパティごとに一辺ずつ指定する場合は
border-top-width
、border-right-width
、border-bottom-width
、border-left-width
border-top-style
、border-right-style
、border-bottom-style
、border-left-style
border-top-color
、border-right-color
、border-bottom-color
、border-left-color
となります。
border-radius : 角の丸み指定
border-radius
は、要素の境界の外側の角を丸めます。
値を1つ指定すると、四隅全ての角に同じ数値の丸みを指定することになります。
<p class="box-radisu1">四辺に丸みを指定 30px</p>
.box-radius1{
background-color: tomato;
width: 300px;
padding: 30px;
text-align: center;
color: #fff;
border-radius: 30px; /*角の丸み指定*/
}
四辺に丸みを指定 30px
4隅(上下左右)バラバラに指定することもできます。その場合、記述順序は次の通りです。
<p class="box-radius2">
左上:0、右上:20px、右下:0、左下:40px
</p>
.box-radius2{
background-color: tomato;
width: 300px;
text-align: center;
color: #fff;
padding: 30px;
border-radius: 0 20px 0 40px; /*角の丸み指定*/
}
左上:0、右上:20px、右下:0、左下:40px
box-shadow : ボックスに影を付ける
box-shadow
は、ボックスに1つまたは複数の影をつける際に使用します。
<p class="box-bshadow">
ボックスに影を指定します。
</p>
.box-bshadow{
padding: 10px;
background-color: white;
box-shadow: 2px 2px 3px 2px #666666;
}
ボックスに影を指定します。
いろいろサンプル
基本を押さえることが目的なので、難しいCSSは使っていません。
基本形
backgrouond-color
で背景色を設定すると、バナーの上に文字が乗っているように見せられます。
ABCDEFG
枠線を付ける
border
で枠線の種類(スタイル)や幅、色で飾ります。背景色と併用することも可能。
ABCDEFG
破線の枠で囲む
枠線の種類(スタイル)を変えると、少し違ったイメージに変わります。
ABCDEFG
丸みのある枠
border-radius
を使うって、ボックスの四隅に丸みを持たせます。
ABCDEFG
ABCDEFG
丸みのある枠線
枠線(border
)と、丸み設定(border-radius
)の合わせ技!
ABCDEFG
影付きボックス
box-shadow
を使って「影」を表示し、ボックスを立体的に見せます。
ABCDEFG
abcdefg
ボーダーを部分的に使う
ブログなどで良く見る、シンプルながらインパクトのある見出しが作れます。
ABCDEFG
枠線の内側を点線で囲む
box-shadow
の4つの数値のうち、1~3番目の値を「0」にすると「ぼかし」のないクッキリとした線が表示されるので、これをボーダーの外側の「第二のボーダー」的に使う手法です。
ABCDEFG
実態をわかりやすく、「枠線の色」と「影の色」を分けてみます。
ABCDEFG
応用編
ここまでで使ってきたプロパティ(border
、background
、box-shadow
、border-radius
)を使ってできる「黒板風」のボックスデザインです。
黒板風
卒業おめでとう!
こちらの黒板にはテキストに影が設定されています。
卒業おめでとう!
こちらはシンプルなテキストです。
ホワイトボード風
ホワイトボード風