【发布时间】:2015-10-20 03:16:10
【问题描述】:
我正在创建一个包含两个部分的网站;一个主要是静态的一面,它使用带有彩色背景的复杂设计,以及一个只使用白色背景的动态博客。
我已在我的 _settings.scss (Foundation 5) 文件中指定对所有文本元素使用白色背景上的深色文本。这没有问题,并且完美地适用于博客和静态方面。
我的绊脚石是找到一种有效的方法来管理不同颜色的背景和静态侧每个背景的适当文本样式。
我有一个“深色”和“浅色”部分,分别使用深蓝色和浅蓝色背景,在页面下方交替显示。
到目前为止,我一直将它们用作类名,充当我内容的包装器。即
<div class="dark section">
<div class="row">
<div class="small-8 columns (etc.)>
<h1> Some Header </h1>
<p> Some text </p>
</div>
</div>
</div>
<div class="light section">
<div class="row">
<div class="small-8 columns (etc.)>
<h1> Some Header </h1>
<p> Some text </p>
</div>
</div>
</div>
这是我的 HTML。两者的文本 (p) 都是白色的,我对它的样式没有任何问题(覆盖 _settings.scss)。这是给我问题的标题。我正在努力寻找一种方法来定位每个彩色部分中的标题,而不会溢出到下一个备用彩色部分;或者不根据背景颜色为标题的每个实例添加大量类。
到目前为止,我一直在使用:(颜色简化,因为我使用的是 SCSS 变量)
.dark {
background-color: dark-blue;
colour: white;
}
.dark h1,h2 {
colour: orange;
}
.light {
background-color: light-blue;
colour: white;
}
.light h1,h2 {
colour: dark-blue;
}
.section {
*insert various padding here*
}
现在在我看来,这应该可行。但是,我让 light 类中的样式覆盖了 dark 类中的样式(不同的地方)。即深色部分有深蓝色的标题,而不是橙色。我似乎无法阻止选择器通过级联从一个“部分”骑行到另一个。
我可能做了一个愚蠢的简单疏忽,但我们将不胜感激。
【问题讨论】: