0

如何在迭代中动态设置元素样式

在 test.phtml 页面中

<?php foreach($tests => $test) { ?>
    <li class="<?php echo $test['class'] ?>">
    <a href="#" title="">
        Test Instance
    </a>
    <style type="text/css">
        li.<?php echo $test['class'] ?> a:hover {
        color: <?php echo $test['color'] ?>;
        background-color: <?php echo $test['bgColor'] ?>;
        }
    </style>
    </li>
<?php } ?>

样式标签出现在页面中。

<li class="third-item">
    <a href="#" title="">
        Test Instance
    </a>
    <style type="text/css">
        li.third-item a:hover {
        color: #498995;
        background-color: #dbe7ea;
        }
    </style>
</li>

但是,这些样式在网页中不起作用。

请帮我解决这个问题...

4

2 回答 2

0

您应该在 htmldocument 的 head-section 中定义内部样式。访问http://www.w3schools.com/css/css_howto.asp
您可以使用循环为头部和后面的标记定义变量,并在正确的位置回显它们。

于 2012-07-03T06:32:35.900 回答
0

您可以像这样使用内联样式标签。

<li style="color:<?php echo $test['color']; ?>;background-color: <?php echo $test['bgColor'] ?>;"><a>Test</a></li>

我已经修改了你的代码检查它。

 <?php foreach($tests => $test) { ?>
 <style type="text/css">
            li.<?php echo $test['class'] ?> a:hover {
            color: <?php echo $test['color'] ?>;
            background-color: <?php echo $test['bgColor'] ?>;
            }
        </style>
        <li class="<?php echo $test['class'] ?>">
        <a href="#" title="">
            Test Instance
        </a>
        </li>
    <?php } ?>
于 2012-07-03T06:40:26.543 回答