在ASP.NET中自定义CSS类

时间:2011-08-18 13:40:00

标签: asp.net css

我正在开发一个应用程序,允许用户更改标题标题的字体颜色。

标题标题使用cssClass中的值(cssClass使用font-size,font-color,font-weight& font-family)。

有没有办法可以在css文件中自定义字体颜色?

一种选择是从cssClass中消除字体颜色,并在.aspx页面中使用Font-Color。

5 个答案:

答案 0 :(得分:1)

在CSS文件中使用color并在任何HTML元素上内联都没有任何问题,因为内联样式将覆盖文件中定义的颜色。

想象一下你的CSS有这个:

a#lnkTest { color: #ff0000; }

但你在 aspx.vb

上做到了
lnkTest.ForeColor = Color.Blue;

您生成的HTML将是:

 <a id="lnkTest" style="color: #0000ff">Bla bla bla</a>

因此,覆盖的颜色没有问题。此外,如果您想使用JavaScript,它的工作方式相同:

document.getElementById("lnkTest").style.color = "#0000ff";

答案 1 :(得分:0)

如果您让用户选择自己的字体颜色,则最简单的方法是设置Font-Color属性或在客户端设置内联style属性。如果你在客户端做到这一点,界面就会变得更加快速(不需要回发颜色变化),但是你需要在某个地方保存用户的选择并在回发时再次设置它。

以下是在客户端设置标题颜色的示例:

使用jQuery

function setHeaderColor(color) {
    // The color parameters should be of the form '#000000'
    $('h1, h2, h3').css({ color: color });
}

没有jQuery

function setHeaderColor(color) {
    var hdrs = [].concat(document.getElementsByTagName('h1'))
                 .concat(document.getElementsByTagName('h2'))
                 .concat(document.getElementsByTagName('h3')),
        ii, jj;

    for (ii = 0; ii < hdrs.length; ii += 1) {
        for (jj = 0; jj < hdrs[ii].length; jj += 1) {
            hdrs[ii].item(jj).style.color = color;
        }
    }
}

答案 2 :(得分:0)

在&lt; h1&gt;之间使用标签控件。标签并使用System.Drawing.Color来应用颜色。

答案 3 :(得分:0)

您可以使用动态创建的css文件,即仅输出css的aspx页面。

<%@ Page Language="C#" %>

h1 {
font-size: 15px;
color: <%= myUsersColor () %>;
}

答案 4 :(得分:0)

使用javascript动态更改元素的样式。