2013-10-23 25 views
0

我有这个代码目前不起作用,有没有其他的选择呢?Twig我可以在CSS中包含代码?

<ul class="sub"> 
{% for key, c in categori %} 
    <style> 
     #nav.{{c.id}}:hover 
     { 
      background-color: #{{c.color}}; 
     } 
    </style> 
     <li class="{{c.id}}"> 
      <a href="{{ path('categoria', {'id': c.id})}}">{{ c.nombre }} 
.... 

我遇到#nav中的问题。 {{c.id}}

ow.ly/i/3vwNp这就是例子

谢谢!

+0

'此代码目前无法正常工作':您是什么意思? – cheesemacfly

+0

我有一个类别列表,他们每个人都有一个背景颜色,拿起一个数据库,然后我必须分配每个列表,我想不出如何去做,这个背景颜色是当鼠标放在它上面时产生的。 –

+0

我还是不明白......你有没有想要做什么的例子? – cheesemacfly

回答

2

您的CSS写入的方式,它期望具有{{ c.id }}(如由枝节分析器解释的)类别的元素位于相同元素上,其编号为nav,例如,

<li id="nav" class="{{ c.id }}">...</li>

你真的不应该有一个页面上的多个元素与同id属性,奇怪的事情发生了JavaScript尤其是当你这样做。

而不是尝试以编程方式在样式中定义您的{{ c.id }},为什么不做这样的事情?

<style> 
    #nav .item:hover 
    { 
    background-color: #{{c.color}}; 
    } 
</style> 
... 
<ul id="nav" class="sub"> 
{% for key, c in categori %} 
    <li class="item {{c.id}}"><a href="{{ path('categoria', {'id': c.id})}}">{{ c.nombre }}</li> 
{% endfor %} 
</ul> 

你真的只应在该文件的顶部放置在CSS标签<style>任何方式或更好的做法戏弄他们出去.css资源文件包括。

+0

ow.ly/i/3vwNp这就是范例 –

1

这肯定会工作:

<ul class="sub"> 
{% for c in categori %} 
    <style> 
    .element{{c.id}} a:hover { background-color: #{{c.color}}; } 
    </style> 
    <li class="element{{c.id}}"> 
    <a href="{{ path('categoria', {'id': c.id})}}">{{ c.nombre }} 
... 

但建议你的CSS规则与HTML分离,所有预定义的元素类移动到外部CSS资产。

+0

我测试过了,它不起作用 –

+0

@RamónDevesa你能否提供一个生成的HTML我可以测试它吗? – Darmen

相关问题