我正在尝试将foreach的结果列表设置为两列,但是我不太确定如何在不抛弃PHP的情况下进行操作。
目前,所有内容如下所示:
我想这样看:
目前,我的foreach和CSS看起来如此:
<p class="title">Reviews</p>
<section id="reviews">
<ul class="section_body">
<?php
foreach($reviews['reviews'] as $rv){
if ($rtmp++ < 10);
if ($rv['freshness'] == 'fresh') {
$image = "fresh";
}
else {
$image = "rotten";
}
echo '<img src="assets/images/' . $image . '.png" class="rating" title="Rotten" alt="Rotten" />';
echo '<li>' . $rv['quote'] . '</li>';
}
?>
</ul>
</section>
提前感谢任何可能提供帮助的人!非常感谢。
答案 0 :(得分:1)
我通常使用css来执行此类任务以让浏览器处理内容
#reviews li
{
float:left;
width: 45%;
...
}
将这两行添加到您的css中,让浏览器负责安排。这个想法是每个李拿走一半的容器(50%)。我做了45%来照顾额外的填充,边距和边框
此外,您的报价和图片应该在li
中 <li> <img src="..." /> <span>my quote here</span> </li>
答案 1 :(得分:0)
尝试以下代码
<section id="reviews">
<?php
$i=0;
foreach($reviews['reviews'] as $rv)
{
if($i++%2 == 0)
{
echo '<ul class="section_body">';
}
if ($rtmp++ < 10);
if ($rv['freshness'] == 'fresh') {
$image = "fresh";
}
else {
$image = "rotten";
}
$img = '<div><img src="assets/images/' . $image . '.png" class="rating" title="Rotten" alt="Rotten" /></div>';
echo '<li>' .$img . $rv['quote'] . '</li>';
if($i%2 == 0 || $i== count($reviews['reviews']))
{
echo '</ul>'
}
}
?>
</section>
您应该将图片和评论文字放在li元素中。