css - CSS:在媒体查询中组合类名
问题描述
我在一个类中有一些可以独立使用的样式,但是当满足媒体查询条件时,我也想将这些样式应用于另一个类。下面是一个例子。
我有两个班级:light
和dark
。
.light {
border: 1px solid;
background-color: white;
}
.dark {
border: 1px solid black;
background-color: black;
color: white;
}
<h2>light</h2>
<div class="light">foo</div>
<h2>dark</h2>
<div class="dark">foo</div>
现在我想组合这些类名来创建一个新版本:移动设备上的浅色(即窄屏),桌面上的深色(即宽屏)。
我知道这样做的唯一方法是复制我的样式:
@media (max-width: 499px) {
.lightOnMobileAndDarkOnDesktop {
border: 1px solid;
background-color: white;
}
}
@media (min-width: 500px) {
.lightOnMobileAndDarkOnDesktop {
border: 1px solid black;
background-color: black;
color: white;
}
}
<h2>light on mobile, dark on desktop</h2>
<div class="lightOnMobileAndDarkOnDesktop">foo</div>
但是,我想在不复制我的类的样式和没有 JavaScript 的情况下实现这一点。
这是一些伪代码,说明了我想要实现的目标:
@media (max-width: 499px) {
.lightOnMobileAndDarkOnDesktop {
@extend .light;
}
}
@media (min-width: 500px) {
.lightOnMobileAndDarkOnDesktop {
@extend .dark;
}
}
如果今天没有任何方法可以达到这种效果,那么我的下一个问题是:是否有任何关于 CSS 的建议可以让我在未来实现这一目标?
解决方案
推荐阅读
- automata - 具有 4 或 5 个状态的 DFA
- javascript - 多个 Shopify 布局脚本 - “脚本”和“javascript”类型
- wordpress - 如何更改移动 wp_query 中的帖子计数?
- sql - Netsuite 保存的搜索在自定义列上找到 0 并查看其间的天数
- typescript - 为什么我的减速器仍然在我的测试用例中设置无效输入的状态?
- amazon-web-services - 在 AWS Server-less 应用程序中,电子邮件微服务的架构应该是什么样子
- html - 为移动设备按列订购 Bootstrap Grid
- html - 删除使用 Bash 在 HTML 文件中的 a 中的标签
目标是仅在 HTML 文件中的
<div>
和之间删除和的实例。标签之外的所有标签都将保留。里面标签内的内容也将保留。</div>
<table>
</table>
<div>...</div>
<t
- sql - SQLite 查询格式
- hyperledger - Hyperledger Indy - VON 网络错误 - 初始化池分类帐时出错