从后面的代码更改CSS3线性渐变的一部分

时间:2012-11-13 22:23:20

标签: asp.net html5 css3

有没有办法从代码隐藏中改变CSS3线性渐变的一部分? e.g:

在Site.css中:

.MyClass{ background-image: linear-gradient(0deg, #FFFFFF, #000000); }

在标记中:

<div class="MyClass">Stuff</div>

我只想改变(来自代码隐藏)#000000。而且只针对那个div。

2 个答案:

答案 0 :(得分:1)

您可以使用:

<style>
    .MyClass{ background-image: linear-gradient(0deg, #FFFFFF, <%=myVariable%>); }
</style>

在您的母版页中,在HEAD中。

您应该在此之前保留样式表(内联样式表)。这允许浏览器继续缓存主CSS文件。

答案 1 :(得分:0)

由于你的样式在样式表中,你应该创建一个新类,然后你可以从后面的代码中设置该div的类。

页:

<div id="_myClass" runat="server">Stuff</div>

代码

_myClass.Attributes["class"] = "MyNewClass";

或者,如果你不想创建一个新类,你可以从后面的代码覆盖它,但如果你使梯度跨浏览器兼容,这将是混乱的,如果你更新它是一个痛苦再次改变颜色......所以不推荐:

 _myClass.Attributes["style"] = "background-image: linear-gradient(0deg, #FFFFFF, #CCCCCC);";