1

文字列の配列があります。

$x=array('blabla1', 'blabla2', ...);

いっぱいになるまでdivブロックを文字列で埋めたいです。私の身長はに固定されています。$xdivdiv$h

例えば、私はdivそのようなものを入れたいです

<div>
     <ul>
           <li> 'blabla1' </li>
           <li> 'blabla2' </li>
           <li> 'blabla3' </li>
           ...
      </ul>
</div>

いっぱいになるまで。

そうする方法を推測しますか?Javascriptまたはphp?ありがとうございました :)

なぜ私がこれをしたいのか:私は提案されたリンクで私のウェブページにサイドディビジョンを持っています。このサイドディビジョンにできるだけ多くの提案されたリンクを入れたいと思います。

コーラス

PS:私の投稿を自由に編集してください(たとえば、タグを追加してください)。

4

5 に答える 5

0

jQuery クライアント側の使用:

while( $("#divId").height() > $("#ulId").height() ) {
    $("#ulId").append("<li>blabla1</li>");
}
于 2012-11-01T15:48:10.577 に答える
0

phpだけでこれを行うのは問題があります。

私の提案は、次のような jquery プラグインと組み合わせて、overflow hidden css プロパティを使用してそれを行うことです。

点点々

于 2012-11-01T15:35:16.823 に答える
0

px などの測定可能な固定単位で div の高さを決定する必要があります。次に、各リスト項目の高さを調整します。div の高さをリスト項目の高さで割ることで、必要なリスト項目の数がわかります。たとえば、n というように、div 内で次の操作を行います。

<div class="define-height">
<ul>
<?php
for ($i = 0; $i < $n; $i++){
?>
<li><?php echo $x[$i];?></li>
<?php } ?>
<ul>
</div>
于 2012-11-01T15:36:13.143 に答える
0

div の高さの固定値が既にわかっているためです。また、li 要素に固定の高さの値を追加してから、php から次のことを行うこともできます: css で div と ul の固定の高さの値を既に設定していると仮定しています。

    $div_height = 500px;
    $li_height = 21px;


    echo '<div id="mydiv"><ul id="myul">';

    for($i=0;$i<=$div_height;$i+=$li_height){
       echo "<li>"."your content here"."</li>";
    }

echo '</ul></div>';
于 2012-11-01T15:33:00.400 に答える
0

コメントから:

  • オーバーフローを使用できない理由は何ですか: hidden? – マーク B

  • 次に、JavaScriptを介して行う必要があります。javascript からは、作成後に dom 要素の高さを取得できる唯一の方法です。おそらく、この div は、1 つの li 要素のみを返す php への ajax 呼び出しによって動的に設定する必要があります。その後、javascript で li 要素を追加するのに十分なスペースがあるかどうかを計算します。その場合、使用可能なスペースがなくなるまで次の呼び出しを行います。div に overflow:hidden を設定することもできますが、これは div の外にあるコンテンツのみを非表示にします。– slash28cu

于 2012-11-02T06:35:36.130 に答える