ブロックで作られた壁を作成する方法が必要です。アイデアは、php 経由で情報を取得し、それらを div にエコーすることでした。
Stylesheet
.block{
min-height:100px;
min-width:190px;
background-color:#999;
float:left;
margin-bottom:10px;
margin-left:5px;
margin-right:5px;
}
.holder{
width:800px;
height:100%;
margin: 0 auto;
}
ここにhtml:
<html>
<head>
<link href="css/style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div class='holder'>
<? *connect to the db*
my_query=mysql_query("SELECT * FROM news");
while($array=mysql_fetch_array(my_query)){
echo "<div class='block' id='block_".$array['id']."'>".$array['text']."<div>";
}
?>
</div>
</body>
</html>
問題は、明らかにブロックの高さも幅も同じではないことです。そのため、フロートが左にあると、ブロックとホルダーの右側の間にひどいマージンが生じます。
http://img17.imageshack.us/img17/1813/cy44.png 表示方法 http://img716.imageshack.us/img716/9703/lnyr.png アイデア : 幅については、jquery を使用できますおそらくエコーでIDを作成します。
if($('#block_'+id).css('width')>590){$('#block_'+id).css('width','790')}
if($('#block_'+id).css('width')>390){$('#block_'+id).css('width','590')}
if($('#block_'+id).css('width')>190){$('#block_'+id).css('width','390')}
これで幅はうまくいくはずですが、高さはどうでしょうか。以前の要素の高さに基づいて、すべての要素の絶対位置を設定する関数を作成しようとする必要がありますか?