あなたが探している種類のソリューションは単に不可能だと思います。テーブルを使用している場合、ブラウザーはtd
およびth
要素がすべて同じものに属していることを理解し、tr
それらがグループとしてどのように見えるかを決定するための簡単なルールを考え出すことができます。
一方、div は非常に多様であり (当然のことですが)、純粋な html と css を使用してそのような関連付けを作成する方法は実際にはありません。のようなことを意味的に言う方法はありませんthe children of this div are going to be on the same row, so they should all share a border
。
回避策は簡単です:
http://jsfiddle.net/8uqae/
最後に div 用の特別なクラスを作成し、残りの div の右側にボーダーを付けるだけです。
HTML:
<div>
<div class="left-end fl"></div>
<div class="middle fl"></div>
<div class="middle fl"></div>
<div class="middle fl"></div>
<div class="middle fl"></div>
<div class="middle fl"></div>
<div class="clr"></div>
</div>
CSS:
.fl {
float: left;
}
.clr {
clear: both;
}
.left-end, .middle {
width: 30px;
height: 20px;
margin: 0;
padding: 0;
border-top: solid 1px black;
border-right: solid 1px black;
border-bottom: solid 1px black;
}
.left-end {
border-left: solid 1px black;
}
sriniが指摘したように、これを支援するフレームワークがあり、検討する価値があります。さまざまなサイズの画面でクロスブラウザー対応の div レイアウトを作成するのは難しい場合があるため、特にTwitter Bootstrapなどのフレームワークを検討することは検討に値します。