首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何显示3栏新闻版面

如何显示3栏新闻版面
EN

Stack Overflow用户
提问于 2020-12-31 17:15:48
回答 1查看 50关注 0票数 0

我有11条新闻,所以我想展示一下

  1. 第一栏只需要一条新闻
  2. 第二栏需要5条新闻
  3. 第三栏需要5条新闻

的其余部分

我尝试过这样做,但没有成功,它显示了第一列和第二列,其余的显示在列外。

代码语言:javascript
复制
$rows = array(
                            'Title1',
                            'Title2',
                            'Title3',
                            'Title4',
                            'Title5',
                            'Title6',
                            'Title7',
                            'Title8',
                            'Title9',
                            'Title10',
                            'Title11',
                        );

                        $total_rows = count($rows);
                        $total_cols  = $total_rows - 1;// remove first one for the first column
                        $left_column = ceil($total_cols / 2);
                        $right_column = $total_cols - $left_column;

                        $i = 0;
echo "<div class='row'>";
                        foreach ($rows as $row) {
                            $i++;
                            if ($i == 1) {
                                $class = "primary_post";
                                echo "<div class='col-md-4 main'>";
                            } elseif ($i <= $left_column) {
                                $class = "other_post";
                                echo "<div class='col-md-4 left'>";
                            } elseif ($i == $right_column) {
                                $class = "other_post";
                                echo "<div class='col-md-4 right'>";
                            } else {
                                $class = "other_post";
                            }

                            echo "<div class='card {$class}'>$i</div>";
                            if ($i == 1 || $i == $left_column || $i == $right_column) {
                                echo "</div>";
                            } else {
                                echo "";
                            }
                        }
                        echo "</div>";

EN

回答 1

Stack Overflow用户

发布于 2020-12-31 18:51:22

最后一个echo "</div>";应该在FOR循环中,而不是在它的外部。

此外,还可以将数组分割成块;

代码语言:javascript
复制
$firstColumn = array_splice($rows,0,1);
$secondColumn = array_splice($rows,0,5);

Rest在$rows变量中。

因此,不需要在for循环中处理ifs,您可以在所需的HTML对象中使用3个不同的循环和列表项。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65523796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档