【问题标题】:adding nth colour to php loop将第 n 个颜色添加到 php 循环
【发布时间】:2016-02-23 10:27:00
【问题描述】:

谁能帮我将下面的html代码添加到php循环中

目的是用 3 种不同的颜色将段落重复 101 次

谢谢

HTML

p:nth-child(1n) {background: #e0ffff:}
p:nth-child(2n) {background: #f5f5db};
p:nth-child (3n) {background: #ffe4e1;}

PHP

<?php
for ($n=0; $n<101; $n++)
echo "Paragraph $n..."."<br />
\n";
?>

【问题讨论】:

    标签: php html loops


    【解决方案1】:

    如果你想要一个段落,你必须在你的 echo 中使用 html-tags

    <?php
    for ($n=0; $n<101; $n++)
    echo "<p>Paragraph $n...</p>";
    }
    ?>
    

    您的 css 代码会更改每个段落的背景颜色。但是用模数来做这件事有点困难。 nth-child(an+b) 语法不允许模选择。使用这种语法很容易选择偶数或奇数元素。

    :nth-child(n) 适用于每个元素 (0, 1, 2, 3, ...)

    :nth-child(2n) 适用于每个偶数元素(0、2、4、6、...)

    :nth-child(3n) 适用于每隔三个元素 (0, 3, 6, 9, ...)

    在您的情况下,使用3n+x 似乎更合乎逻辑,其中 x 是 0,1 或 2

    p:nth-child(3n) {background: #e0ffff:}
    p:nth-child(3n+1) {background: #f5f5db};
    p:nth-child(3n+2) {background: #ffe4e1;}
    

    【讨论】:

    • 我认为 OP 知道如何使用&lt;p&gt; 标签。毕竟 OP 有 659 个声望。
    • @Grimlockz 我稍微修改了我的帖子并更正了您的 css 规则。也许你应该看看
    • 对不起,我想我把它弄坏了,在某处错过了一个 { - 段落 $n..."; ?>
    • css 样式不是您的 php 代码的一部分!这只能在其他地方定义一次(外部 css 文件或 html 头部中的样式标签)
    【解决方案2】:

    这个怎么样:

    <?php
    $x=1;
    for ($n=0; $n<101; $n++) {
       if($x > 3) {
          $x=1;
       }
       if($x==1) {
         echo "for 1st child";
       }
       if($x==2) {
          echo "for 2nd child";
       }
       if($x==3) {
          echo "for 3rd child";
       }
       $x++;
    }
    ?>
    

    【讨论】:

    • 所以我只需要更改回显以显示段落吗?抱歉,这也会显示每个段落的数量
    • 您可以在if条件下赋予不同的颜色。例如if $x==1 然后color=#e0ffff 等等。是的,如果您打印$n,它将显示段落数。
    【解决方案3】:

    你可以使用模数:

    for ($n=0; $n<101; $n++) {
        $modulo = ($n%3);
    
        if($modulo==0){
            $bg_color = '#e0ffff';
        }elseif($modulo==1){
            $bg_color = '#f5f5db';
        }elseif($modulo==2){
            $bg_color = '#ffe4e1';
        }
    
        echo '<p style="background-color:'.$bg_color.';"> Paragraph</p>';
    }
    

    【讨论】:

      猜你喜欢
      • 2020-10-29
      • 2012-08-29
      • 2012-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-10
      相关资源
      最近更新 更多