1

我有一个字符串数组。

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

我想div用字符串填充一个块,$x直到我填满为止div。我的高度div是固定的$h

例如,我想放入我的类似的div东西

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

直到满为止。

任何猜测如何做到这一点?Javascript 还是 php?谢谢 :)

为什么我要这样做:我的网页上有一个带有建议链接的侧 div。我想在此侧 div 中放置尽可能多的建议链接。

可乐

PS:随意编辑我的帖子(例如,添加标签)。

4

5 回答 5

0

Because you already know the fixed height value of your div. You can also add a fixed height value to the li elements and then from php do the following: I am assuming that you already set the fixed height values for the div and ul in your css.

    $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

仅使用 php 来执行此操作将是有问题的。

我的建议是结合使用溢出隐藏 css 属性和 jquery 插件来做到这一点:

dotdotdot

于 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

从评论:

  • 任何你不能只使用溢出的理由:隐藏?– 马克 B

  • 然后你必须通过javascript来做。从 javascript 是创建后获得 dom 元素高度的唯一方法。也许这个 div 必须通过一个只返回一个 li 元素的 ajax 调用来动态填充 php。然后在 javascript 中计算是否有足够的空间来存储 li 元素,在这种情况下进行下一次调用,直到没有更多可用空间。您还可以在您的 div 中设置溢出:隐藏,但这只会隐藏 div 之外的内容。– 斜线28cu

于 2012-11-02T06:35:36.130 回答
0

使用 jQuery 客户端:

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