【发布时间】:2018-04-05 21:58:26
【问题描述】:
例如,假设我有一个人为的卡片概念:
<div class="Card">
<div class="Card-author">{{author}}</div>
<div class="Card-body">{{body}}</div>
<div class="Card-timestamp">{{timestamp}}</div>
</div>
它有很多样式,并且对小屏幕的媒体查询下的样式进行了很多更改:
.Card {...}
.Card-author {...}
.Card-body {...}
.Card-timestamp {...}
@media (max-width: 981px) {
.Card-author {...}
.Card-body {...}
.Card-timestamp {...}
}
如果我想在屏幕尺寸上方显示这个小版本的卡片(例如,如果我想在侧边栏中显示这个版本的卡片),是否有我可以轻松重复使用这些样式的 DRY 方式?
类似:
<div class="Card Card--small"> <!-- NOTICE ADDITIONAL CLASSNAME -->
<div class="Card-author">{{author}}</div>
<div class="Card-body">{{body}}</div>
<div class="Card-timestamp">{{timestamp}}</div>
</div>
在 html 中,我可以轻松地将“修饰符”类添加到卡片组件中,但是如何在 css 中完成此操作,而不是在两个地方(媒体查询块和卡片)复制这个“小”卡片样式小块?
@media (max-width: 981px) {
.Card-author {...}
.Card-body {...}
.Card-timestamp {...}
}
.Card--small {
/* Same exact styles as the media query rules above */
.Card-author {...}
.Card-body {...}
.Card-timestamp {...}
}
【问题讨论】:
标签: css sass media-queries