• Date:2010/2/25
  • Category:css
  • Author: wonder

box-sizingプロパティについて勉強。

box-sizingとは

box-sizingを指定することで、要素の幅、高さの値に余白(padding)や線(border)の値を含めるかどうかを設定できます。

記述方法

box-sizing: 値;

値に下記の値を入れることで設定ができます。

box-sizing: border-box; // padding、borderの値をwidthに含める
box-sizing: content-box; // padding、borderの値をwidthに含めない(デフォルト)

です。
各ブラウザでは頭に記号を追加することで動作するようになります。

■webkitの場合
-webkit-box-sizing: border-box;

■mozillaの場合
-moz-box-sizing: border-box;

■IEの場合
-ms-box-sizing: border-box;

対応ブラウザ

上記のように記述することで動作するブラウザです。
IEは8から対応していますね。

  • Firefox2~
  • Safari3.1~
  • Chrome0.2~
  • Opera9.6~
  • IE8~

サンプルコード

CSS3サンプル / box-sizing

実はこのプロパティって割と使えるのではないかと思っています。
特に、cssの記述を使いまわしたいときなんかに良さそうです。

例えばデザイン性は同じで幅だけちがうようなタイトルの場合

.title01 {
    width:100%;
    // 共通の記述
}

幅を100%にしておけば親要素の幅次第で可変するようになります。
ただ以前は、この共通の記述のところにpaddingが入ってしまったりすると幅が変わり、100%以上になってしまってうまくいかなかったんです。
css3を使えるようになれば、box-sizingを指定するだけで、paddingが入ろうが、borderをつけようが幅がはみ出てしまうことはありません。

.title01 {
    width:100%;
    box-sizing: border-box; // padding、borderがあっても平気
    // 共通の記述
}

便利でしょ?

参考サイト

CSS3のbox-sizingでpadding・borderをwidth、heightに含めてみる - HouseTect

From: [css]display:box;の挙動がブラウザによって違うみたい  2010/3/12

[...] す。 [css]box-sizing:ボックスのwidth、heightに余白を含める [...]

Name
Comment

To pagetop


wonder_boys

wonder
Webデザイナー兼マークアップエンジニア。 静岡県浜松市在住。

RSS Entries

RSS Comments

Sponsored

Entries

Archive

Categories

Tags

まとめ アクセシビリティ イベント イベントリスナー オブジェクト オライリー バグ マイクロフォーマット マークアップ ユーザビリティ レビュー 引数 携帯サイト 正規表現 画像 目標 管理画面 背景 設定 alt AS3.0 Bitmap canvas content css DataGrid dreamweaver Flex form HTML html5 IK iphone javascript meta middle PHP png SGML SVG table wordpress XHTML XML

Links

킹ēǂ݂uOp[c