如何从代码隐藏更改我的 css 文件中使用的颜色?

Far*_*rlo 5 css c# twitter-bootstrap

我的许多css文件(包括引导程序)使用指定的颜色。我希望能够在一个中心位置更改主要颜色(例如我添加的配置页面)。

我已经看到cssvar 可能很快就会出现,但目前还没有得到很好的支持。

有没有更优雅的方法可以做到这一点,而不是我目前使用css文件作为模板的想法,我将在页面加载时使用颜色配置加载?

Vla*_*ykh 2

您可以使用LESS代替 CSS 来获得变量和更多优点。

如果将 LESS 与分离到不同 CSS 文件的主题结合起来(如 @Thorarins 建议的那样),您将变得更强大且可维护。

少的特点:

1)变量

LESS

@link-color: #CC0000;

a {
    color: @link-color;
}
Run Code Online (Sandbox Code Playgroud)

“编译”为

CSS

a {
    color: #CC0000;
}
Run Code Online (Sandbox Code Playgroud)

2) 嵌套

LESS

.article {
   a {
     text-decoration: underline;
   }

   p {
     margin: .5ex .5em;
   }
}
Run Code Online (Sandbox Code Playgroud)

“编译”为

CSS

.article a {
  text-decoration: underline;
}

.article p {
  margin: .5ex .5em;
}
Run Code Online (Sandbox Code Playgroud)

3)混入

LESS

.box-shadow(@style, @color)
{
  -webkit-box-shadow: @style @color;
  box-shadow:         @style @color;
}

div
{
  .box-shadow(0 0 5px, 30%);
}
Run Code Online (Sandbox Code Playgroud)

“编译”为

CSS

div {
  -webkit-box-shadow: 0 0 5px 30%;
  box-shadow: 0 0 5px 30%;
}
Run Code Online (Sandbox Code Playgroud)

4)功能

LESS

@text-color: #000;

.article {
   p {
     color: lighten(@text-color);
   }
}
Run Code Online (Sandbox Code Playgroud)

“编译”为

CSS

.article p {
  color: #4d4d4d;
}
Run Code Online (Sandbox Code Playgroud)