我正在使用css继承重构一些html页面;扩展从另一个样式扩展的样式时出现问题;基本风格的属性没有被提取。
.font-base, .font-big, .font-bigger{
color: GREEN;
font-size: 11pt;
letter-spacing: 6pt;
}
.font-big {
font-size: 14pt;
}
.font-bigger, .font-italic {
font-size: 30pt;
}
.font-italic {
font-style: italic;
}
我希望font-italic
从基本选择器color
中获取letter-spacing
和font-base
个样式,但在阅读this之后,css继承是< em> not OO继承,所以我假设 是预期的行为?
但是,在上面的示例中,font-italic
从对等选择器font-bigger
中选择样式,这有助于避免冗余样式,但我怀疑这可能会让多个级别的继承变得难看
问题
重复继承类选择器是不好的做法吗?我问的是因为我没有做很多CSS,而且我希望按照良好的约定。
奖金问题可以追溯到我原来的问题,有没有办法继承类似于OO继承的样式?我猜SASS和LESS属于那个类别?
答案 0 :(得分:1)
font-italic
选择样式如下:
.font-bigger, .font-italic {
font-size: 30pt;
}
.font-italic {
font-style: italic;
}
.font-base, .font-big, .font-bigger{}
不包含font-italic
的任何引用,因此,font-italic
不会选择任何样式。(颜色,字母间距)
如果您希望font-italic
选择这些样式,可以写:
.font-base, .font-big, .font-bigger,font-italic{
color: GREEN;
font-size: 11pt;
letter-spacing: 6pt;
}
OR:
<div class="font-italic font-big">font-italic-nogreen?</div>
但是,我建议您使用以下结构来实现高效样式:
CSS:
.font-color{
color: GREEN;
letter-spacing: 6pt;
}
.font-base{
font-size: 11pt;
}
.font-big {
font-size: 14pt;
}
.font-bigger{
font-size: 30pt;
}
.font-italic {
font-style: italic;
}
HTML:
<div class="font-base font-color">font-green-11</div>
<div class="font-big font-color">font-big-14</div>
<div class="font-bigger font-color">font-bigger-30</div>
<div class="font-italic font-color font-bigger">font-italic-nogreen?</div>