2013-10-23 65 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

相關問題