-
ID:CLDdUD さんの質問

こんにちは!
.
テーブルのようなレイアウトのものを作りたいのですが、テーブルレイアウト内に登場する要素の数が、DBから動的に取得されるため変動してしまうのですが、その際、要素の数によってはテーブルのセルを構成するための罫線が上手く表示されません。
.
どのようにすれば、上手く罫線を全て表示出来るのでしょうか?
.
.
.
■ CodePenのデモ
ttp://codepen.io/anon/pen/IwEbi
.
.
.
■ HTML
.
<!-- 6番目が存在する場合 -->
<ul class="list">
<li class="item">1</li>
<li class="item">1</li>
<li class="item">1</li>
<li class="item">1</li>
<li class="item">1</li>
<li class="item">1</li>
</ul>

<!-- 6番目が存在しない場合 -->
<ul class="list">
<li class="item">1</li>
<li class="item">1</li>
<li class="item">1</li>
<li class="item">1</li>
<li class="item">1</li>
<!-- ここに上ボーダーが欲しい -->
</ul>

.
.
.
■ CSS
.
body {
padding: 10px;
}

/* ul */
.list {
list-style: none;
margin: 0;
padding: 0;
width: 400px;
border-left: solid 1px #ccc;
border-right: solid 1px #ccc;
border-bottom: solid 1px #ccc;
margin-bottom: 20px;
overflow: hidden; /* micro clearfix */
}

/* li */
.item {
width: 50%;
float: left;
text-align: center;
box-sizing: border-box;
border-top: solid 1px #ccc;

}

/* li */
.item:nth-child(odd) {
border-right: solid 1px #ccc;

}

/* li */
.item:nth-child(even) {
}

.
.
.
■ 条件
* IE8以上対応
* liの数は動的にDBから取得されるため変動する

みんなの回答 2 件

ID:5XdYw9 さんの回答

こういう感じですかね?
IE8でみてないけど・・・

2014-08-25 1st - jsdo.it - Share JavaScript, HTML5 and CSS

http://jsdo.it/Ituki/dISQ
ID:cKLqOF

おおお、すごい!まさにコレです!ありがとうございます!

親要素が閉じる直前に空の文字を入れたということでしょうか?

なぜ、リストが六個ある時でも機能するのですか?六個あるときに空文字が追加されたら、おかしくはならないものなのですか?

ID:CHYGHD

IE8だとnth-child無理ですよ。なのでJSでクラスつけるしかないかな。

ID:5XdYw9

6個のときは、一番最後のli.itemにかぶってるだけですよ。
z-index指定すればテキストコピペもできるし・・・その辺は適当に。

ID:CLDdUD

え、IE8だとnth-child使えないんですか!

その場合、どうすればテーブルっぽくセルの区切りに罫線を引くのでしょうか???

ID:5XdYw9

nth-childの問題もデモで修正してありますよ

ID:XcoAwo

おおお、コメ主さんすごい!ありがとうございます!これは何がコツなのでしょうか?擬似要素の理解が乏しい。。。

ID:XcoAwo さんの回答

解決しました。ありがとうございました!

最終更新日:2014-08-26 (2,120 views)

関連するトピックス

ページ上部に戻る