我有一个设计,我需要能够根据 cms 中的输入更改页面上的颜色。
为此,我将一个类添加到一个包含的 div 中,并且我将根据该周围的类更改颜色。
会有一定数量的颜色。(8,我想。还没有决定。)
我的想法是使用 mixin 来实现这一点。例如。
示例 HTML
<div class="color-1>
<h1 class="h1">My Title</h1>
</div>
示例 LESS Mixin
.color() {
@color_1: red;
.color-1 & {
color: @color_1;
}
@color_2: blue;
.color-2 & {
color: @color_2;
}
//etc.....
//I have a similar mixin for background-color -> .bg-color();
}
示例 LESS
.h1 {
.color();
background-color: #fff;
@media screen and (min-width: 960px) {
color: #fff;
.bg-color();
}
}
问题
问题是移动版本的特异性高于桌面版本。
示例呈现的 CSS
//Could be color-2, color-3 etc. depending on class, doesn't matter for this example
.color-1 .h1 { //This would override the media query below due to 2 classes
color:red;
}
.h1 {
@media screen and (min-width: 960px) {
color: #fff;
background:color: red;
}
}
此问题将影响页面的其余部分。有没有更好的方法来完成我正在寻找的东西而不会到处粘贴重要的标签?
________________编辑________________
为清楚起见,我正在构建的网站将允许特定级别的登录用户更改其个人页面的主颜色,我仍然需要客户决定有多少颜色,但我认为它会在 8 左右。而不是写出每一个,或者为每一个都有一个单独的样式表(维护这将是可怕的)我决定为它创建一个 Mixin。将有多种背景颜色和文本颜色需要更改,并且由于设计原因,他们需要在移动桌面和平板电脑上更改为不同的颜色。