php - 用 PHP 显示特定的 block 大小

标签 php html css

我有一个要在我的网页中打印的 block 列表。这些 block 的数据存储在这样的数据库中:

Image 1

Priority 列对应优先级id,按优先级id 升序打印 block 。大小列对应于 block 的大小(0 或 1),0 表示页面的半宽,1 表示页面的全宽。

block 可以动态添加,目前第一个半宽 block 位置在左边(float: left),下一个 block 在右边,全宽 block 的任何问题。

我的问题是当我有 4 个连续的半宽 block 时,我有这样的显示:

Image 2

这是我的代码:

<?php

$i = 1;
foreach (Block::getAll($diagnostic) as $block)
{
    if ($block['size'] == 0)
    {
        $size = 6;

        if (Block::get($diagnostic, $block['priority'] + 1, 'size') == 0 && Block::get($diagnostic, $block['priority'] + 1, 'size') != null)
        {
?>
            <div class="row">
                <div class="cols-<?php echo $size; ?> blocks">
                    <div class="header"><h3>Titre <?php echo Block::get($diagnostic, $block['priority'], 'priority'); ?></h3></div>
                    <div class="body">
                        <p>Texte <?php echo Block::get($diagnostic, $block['priority'], 'priority'); ?></p>
                    </div>
                </div>
                <div class="cols-<?php echo $size; ?> blocks">
                    <div class="header"><h3>Titre <?php echo Block::get($diagnostic, $block['priority'] + 1, 'priority'); ?></h3></div>
                    <div class="body">
                        <p>Texte <?php echo Block::get($diagnostic, $block['priority'] + 1, 'priority'); ?></p>
                    </div>
                </div>
            </div>
<?php
        }
        else if (Block::get($diagnostic, $block['priority'] + 1, 'size') != 0 && Block::get($diagnostic, $block['priority'] - 1, 'size') != 0)
        {
?>
            <div class="row">
                <div class="cols-<?php echo $size; ?> blocks">
                    <div class="header"><h3>Titre <?php echo $block['priority']; ?></h3></div>
                    <div class="body">
                        <p>Texte <?php echo $block['priority']; ?></p>
                    </div>
                </div>
            </div>
<?php
        }
    }
    else
    {
        $size = 12;
?>
        <div class="row">
            <div class="cols-<?php echo $size; ?> blocks">
                <div class="header"><h3>Titre <?php echo $block['priority']; ?></h3></div>
                <div class="body">
                    <p>Texte <?php echo $block['priority']; ?></p>
                </div>
            </div>
        </div>
<?php
    }
++$i;
}

很高兴阅读您的文章。

最佳答案

问题已解决。

我删除了容器并为我的 block 添加了 display-block 属性,半 block 宽度为 50%,完整 block 宽度为 100%。

PHP 端,我从数据库中获取大小值,并根据此数据推送半类或全类。

关于php - 用 PHP 显示特定的 block 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23899901/

相关文章:

jquery - 如何改变当前ul所有li的class?

php - 在文本中搜索特殊字符串并替换为数组中的内容

php - strip 创建发票/收费发票

php - GET 参数意外被 %27 包围?

javascript - 外部点击在 angularjs 中不起作用

css - 正文背景图片不显示

php - 发件人限制(搜索)

html - Markdown 中的 Rowspan 语法

html - 如何让基础 Reveal Modal 在 Safari 中正确显示

html - 使用 HTML 和 CSS 修复按钮动画