2012/11/25
[UI] display:table-cellを使って横並びのレイアウトをする方法
html
おおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおおお
幅指定をする場合
おおおお
おおおおおおおおおおおおおおおおおおおおおおおおおおおおお
おおおお
おおおお
.row { display:table; width: 100%; } .row > div { display:table-cell; width: 25%; vertical-align:top; padding:.5em; }
幅指定なしで均等幅にする場合
おおおお
おおおおおおおおおおおおおおおおおおおおおおおおおおおおお
おおおお
おおおお
.row { display:table; table-layout: fixed; width: 100%; } .row > div { display:table-cell; vertical-align:top; padding:.5em; }
table-cellの隙間を作る場合
おおおお
おおおおおおおおおおおおおおおおおおおおおおおおおおおおお
おおおお
おおおお
.row { display:table; table-layout: fixed; border-spacing: 10px 0; border-collapse:separate; width: 100%; } .row > div { display:table-cell; vertical-align:top; padding:.5em; }
使用上のポイント
- ie8+ブラウザ対応状況
- ○ 内容量に関係なく高さが揃う。
- ○ 均等幅、均等配置が簡単。
- × 行ごとにdisplay:tableを指定した要素で囲む必要がある。商品一覧のような流し込みには不向き。
- △ レスポンシブにはあまり向いていない?使い方次第?display:blockの指定で1列になる。
- border-spacingの指定できる値は1つ、または2つ。2つの場合[左右][上下]の順番。※paddingなどとは違う。
0 件のコメント :
コメントを投稿