以下のようにCSSを記述したのですが、「3番目のボックス」が「異なる高さのボックス」の下に来ずに、2番目のボックスに来ます。
どのような記述をすればよいのでしょうか?
※確認はFirefox3.0とIE6で行っています。
※高さは可変することを想定しています。
#listBox ul{
width: 300px;//実際の利用では横幅を固定しない
}
#listBox li{
display: block;
float: left;
background-color: #CCCCCC;
padding: 10px;
width: 100px;
list-style-type: none;
margin-right: 10px;
margin-bottom: 10px;
}
常に2列に配したいのであれば、下記のようでどうでしょうか。
<html> <head> <style type="text/css"> <!--- UL#listBox { width: 300px;//実際の利用では横幅を固定しない } LI#listBox { display: block; float: left; background-color: #CCCCCC; padding: 10px; width: 100px; list-style-type: none; margin-right: 10px; margin-bottom: 10px; } LI#listBoxc { display: block; clear:both; background-color: #FFCC00; padding: 10px; width: 100px; list-style-type: none; margin-right: 10px; margin-bottom: 10px; } ---> </style> </head> <body> <div> <ul id="listbox"> <li id="listBox">異なる高さのボックス<BR><BR><BR><BR></li> <li id="listBox">2番目のボックス</li> <li id="listBoxc">3番目のボックス</li> </ul> </div> </body> </html>
ということですと、高さをある程度揃えないと実現は難しいように思いますがどうなんでしょうね。
一応置いておきます。
つ【ブロックレベル要素の高さを揃えるjavascript|http://blog.webcreativepark.net/2007/07/26-010338.html】
リンク先参考にさせていただきます。
高さが不揃いだとお望みの事は出来ないです。
全てを、ある程度の高さに揃える(min-height)事も無理そうですか?
ですが、CSSだけでは無理だと言うことですので、それで納得します。
利用にはPHPと併用して対処したいと思います。