9月更新・前月(8月)の人気記事トップ10 09/02/2024
- ( 01 – ) 【Labs】position:absoluteとwidth:100%を指定すると横幅の設定がうまくいかない場合の対処方法について
- ( 07 ↑) 【Mac】macOSをHigh SierraからMontereyにアップグレード
- ( 03 – ) 【Mac】横画面で撮影した動画をYouTubeショート用にMacのiMovieで縦画面に編集する方法
- ( 10 ↑) 【iPhone / iPad】iPhoneのツイッターアプリでユーザー名をコピーする方法
- (圏外↑) 【Labs】CSSだけでドロップダウンメニュー
- ( 02 ↓) 【jQuery】入門2. jQueryをHTMLに組み込む
- ( 09 ↑) 【Mac】Safariでソースコードを見る方法
- ( 04 ↓) 【jQuery】入門7. jQueryで新しいWindowを開く
- ( 06 ↓) 【2024年5月】iPad画面解像度まとめ
- (圏外↑) 【GIMP】レイヤーをロック
【Labs】CSS3のプロパティ box-sizing 値 border-boxでレイアウトの計算が簡単に
こんにちは(・∀・)
今日はレイアウトする際に使うと便利なCSS3のbox-sizingプロパティの使い方についてご紹介して行きます。
box-sizingプロパティに関しての解説ページはこちらをご覧ください。
【CSS3リファレンス】box-sizing
またflexboxでレイアウトする方法に関しての解説ページはこちらをご覧ください。
【labs】display:flexについて
box-sizingプロパティ
box-sizingプロパティで指定できる値はcontent-boxとborder-boxの2種類です。
content-boxを指定した場合paddingとborderの大きさは含まないで表示します。要素内容の大きさはwidthで指定したままの大きさで表示され、外側が大きくなります。
border-boxを指定した場合paddingとborderの大きさを含んで表示します。なので要素内容が小さくなります。
今までレイアウトする際、本体要素にborderやpaddingが指定してある場合、本体要素の値だけではなくborderとpaddingの値も足して計算しておりましたが、このbox-sizingプロパティで値がborder-boxを指定した場合、本体要素の値以外は気にしなくてもよくなります。ただし、marginは除きます。
サンプル
HTML
<div class="box">
<p>box-sizingの指定なし。</p>
<!--box--></div>
<div class="content-box">
<p>box-sizing:content-boxで指定するとpaddingとborderの値も含みます。上記のbox-sizingの指定なしと同じ表示になります。</p>
<!--content-box--></div>
<div class="border-box">
<p>box-sizing:border-boxで指定するとpaddingとborderの値は含みません。</p>
<!--border-box--></div>
CSS
.box,
.content-box,
.border-box {
width: 700px;
border: 10px solid #ccc;
margin: 10px auto;
padding: 10px;
text-align: left;
}
.content-box {
box-sizing: content-box;
}
.border-box {
box-sizing: border-box;
}
Result
サンプルデモ
スマホでの確認はこちら
また次の指定をリセットCSSで最初に設定しておけばborderとpaddingの幅を気にすることなくコーディングすることができるのでオススメです。
* {
box-sizing: border-box;
}
box-sizing:border-boxを指定するとborderとpaddingは要素に含まれますがmarginは含まれませんのでご注意ください。
関連リンク
【CSS3リファレンス】box-sizing
【Labs】display:flexについて