Django动态css实现:只有一个项目动态更改(背景)。如何?

时间:2011-05-16 18:10:23

标签: css django dynamic

我想设置一个动态获取背景的单一css样式 来自某些django变量。

我认为增加的难度在于它与a:hover有关。

原始的static style.css代码运行如下:

.titles-button h2 a {
    margin-left: 4em;
    margin-right: 4em;
    margin-top: 1em;
    margin-bottom: 1em;
    display: block;
    width: 240px;
    height: 80px;
    /* background: transparent url(../logos/djangoVX_logo.png) center left no-repeat; */
    text-indent: -999em;
    border: 1px dashed green;
}
.titles-button h2 a:hover {
    /* background: transparent url(../logos/djangoVX_logo2.png) center left no-repeat; */
}

请注意,现在已对背景进行了评论。

我想在DIV中使用这种风格并动态更新背景。

像:

{% if the_apps_list %}
    {% for apps in the_apps_list %}
    <div class="titles-button"> 
        <h2><a href="/{{ apps.app_name }}/" style="X">{{ apps.app_name }}</a></h2> 
    </div>
    {% endfor %}
{% else %}
    <p>No APPS are available. Internal Error.</p>
{% endif %}

我尽力为“X”但没有结果。

除了:   - 重写X中的完整样式   - 使用一些javascript花哨的东西(on_mouse_over ...)   - 我甚至见过一个类:inheritALL

这个解决方案都不符合我使用django的想法。

我可能从错误的一方得到公牛......

..哪一个是右边的?

欢呼声 ˚F

1 个答案:

答案 0 :(得分:0)

假设你有背景的“黑暗”和“浅色”版本。您的代码可能如下所示:

<强> views.py:

...
if i_want_dark_version:
    context['style']='dark'
else:
    context['style']='light'

<强> template.html:

<div id="titles-button" class="{{ style }}">
    ...
</div>

<强>的style.css:

#titles-button.dark h2 a {
    background: ...;
}
#titles-button.dark h2 a:hover {
    background: ...;
}

#titles-button.light h2 a {
    background: ...;
}
#titles-button.light h2 a:hover {
    background: ...;
}