【问题标题】:Customizing CSS classes in ASP.NET在 ASP.NET 中自定义 CSS 类
【发布时间】:2011-10-29 19:36:12
【问题描述】:

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

标题标题使用来自 cssClass 的值(cssClass 使用字体大小、字体颜色、字体粗细和字体系列)。

有没有一种方法可以在 css 文件本身中允许自定义字体颜色?

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

【问题讨论】:

  • 您打算如何让用户选择颜色?你想要回发吗?您想使用 JavaScript 来实现这一目标吗?
  • javascript 会更好...

标签: asp.net css


【解决方案1】:

如果您让用户只选择他们自己的字体颜色,那么设置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;
        }
    }
}

【讨论】:

  • 在您的示例中,'h1' 是控件的 ID 值,对吗?
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    <%@ Page Language="C#" %>
    
    h1 {
    font-size: 15px;
    color: <%= myUsersColor () %>;
    }
    

    【讨论】:

    • 如何为我的标签调用“h1”样式?
    • 嗯,你的问题是关于“标题标题”,所以我假设 h1。您可以放置​​您想要的任何选择器。这只是生成的 css 文件的一个例子。
    【解决方案4】:

    在您的 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";
    

    【讨论】:

      【解决方案5】:

      标签之间使用标签控件并使用 System.Drawing.Color 应用颜色。

      【讨论】:

        猜你喜欢
        • 2019-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-05
        相关资源
        最近更新 更多