php - 以编程方式从php数组创建具有不同背景颜色的div

标签 php html css codeigniter

我在 MVC 框架 (Codeigniter) 中创建了 div。 从数据数组中,我循环遍历“主题”数组并为每个数组创建一个 div。我还为每个主题添加了一个标题 div 和一个内容 div。那么,如何使每个主题中标题的背景具有与颜色数组不同的颜色。它们必须不同,除非主题的数量大于颜色数组中的颜色数量。

这是循环遍历每个主题的代码:

foreach ($userSubjects as $subject => $info) {
                echo "<div class='subject paper'>";
                    echo "<div class='subjectHeader'>";
                        echo $info['subject_name'];
                    echo "</div>";
                    echo "<div class='subjectContent'>";
                    echo "</div>";
                echo "</div>";

这里是 randColor 数组:

$colorSet = array(
    '#1abc9c',
    '#2ecc71',
    '#3498db',
    '#9b59b6',
    '#34495e',
    '#f1c40f',
    '#e67e22',
    '#e74c3c',
    '#ecf0f1',
    '#95a5a6'
);

最佳答案

我认为最好的技巧是使用 CSS 而不是 PHP:

div.subject:nth-child(10n+1) > .subjectHeader { background: #1abc9c}
div.subject:nth-child(10n+2) > .subjectHeader { background: #2ecc71}
div.subject:nth-child(10n+3) > .subjectHeader { background: #3498db}
div.subject:nth-child(10n+4) > .subjectHeader { background: #9b59b6}
div.subject:nth-child(10n+5) > .subjectHeader { background: #34495e}
div.subject:nth-child(10n+6) > .subjectHeader { background: #f1c40f}
div.subject:nth-child(10n+7) > .subjectHeader { background: #e67e22}
div.subject:nth-child(10n+8) > .subjectHeader { background: #e74c3c}
div.subject:nth-child(10n+9) > .subjectHeader { background: #ecf0f1}
div.subject:nth-child(10n+10) > .subjectHeader { background: #95a5a6}

为了方便使用,可以使用这个脚本生成CSS脚本;

<style type="text/css">
<?php
    $i = 1;
    foreach($colorSet as $c)
    {
         echo "div.subject:nth-child(".count($colorSet)."n+".$i.") > .subjectHeader { background: ".$c."}";
         $i++
    }
?>
</style>

关于php - 以编程方式从php数组创建具有不同背景颜色的div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24987373/

相关文章:

html - 当另一个子 div 悬停时更改子 div 的外观

php - 使用 PHP 避免表单字段中出现无意义的文本

php - 如何只更新 Yii 框架中的某些字段?

php - 将图像放入背景图像

html - 从 Asp.net MVC Controller 返回 Pdf 文档

javascript - 两次提交调用函数

php - WordPress 元查询数组

php - 使用从 URL 获取变量来执行 MYSQL 查询

html - 显示 :table 的元素内表格的限制宽度

html - 使相对元素出现在绝对元素之前同一个容器