私の知る限りcssにはcolspanはありませんcolumn-span
が、近い将来に複数列のレイアウトに対応する予定ですが、CSS3のドラフトにすぎないため、ここで確認できます。とにかく、あなたは使用して回避策を行うことができますdiv
し、span
このようなテーブルのようなディスプレイで。
これはHTMLです。
<div class="table">
<div class="row">
<span class="cell red first"></span>
<span class="cell blue fill"></span>
<span class="cell green last"></span>
</div>
</div>
<div class="table">
<div class="row">
<span class="cell black"></span>
</div>
</div>
そして、これはCSSになります:
/* this is to reproduce table-like structure
for the sake of table-less layout. */
.table { display:table; table-layout:fixed; width:100px; }
.row { display:table-row; height:10px; }
.cell { display:table-cell; }
/* this is where the colspan tricks works. */
span { width:100%; }
/* below is for visual recognition test purposes only. */
.red { background:red; }
.blue { background:blue; }
.green { background:green; }
.black { background:black; }
/* this is the benefit of using table display, it is able
to set the width of it's child object to fill the rest of
the parent width as in table */
.first { width: 20px; }
.last { width: 30px; }
.fill { width: 100%; }
このトリックを使用する唯一の理由は、table-layout
振る舞いの利点を得るためです。divとspanの幅を特定のパーセンテージに設定しただけでは設計要件を満たせなかった場合は、それをたくさん使用します。
しかし、あなたがそのtable-layout
振る舞いから利益を得る必要がないなら、duriraiの答えはあなたに十分に合うでしょう。