我可以将CSS媒体查询与CSS选择器结合使用吗?

詹姆斯·K

我正在设计一个用于显示文章的网页。主要内容是文章正文,但也有指向相关文章的链接列表。我希望该列表通常显示在文章的一侧,但在以下两种情况下都显示在文章的下方:

  • 视口<992px宽
  • 文章内容广泛,例如一张大桌子

我已经通过以下CSS实现了此目标...

.article-sidebar {
    text-align: left;
}
@media (min-width: 992px) {
    .article-sidebar {
        float: right;
        max-width: 28%;
    }
}
@media (max-width: 991px) { 
    .article-sidebar {
        padding-top: 46px;
        border-top: 1px solid #eeeeee;
        padding-left: 5%;
        padding-right: 5%;
    }
}

.article-sidebar-bottom {
    text-align: left;
    padding-top: 46px;
    border-top: 1px solid #eeeeee;
    padding-left: 5%;
    padding-right: 5%;
}

...加上一些JavaScript,如果该文章具有“宽子级”,该JavaScript会起作用,并删除'article-sidebar'类,并添加'article-sidebar-bottom'类。

但是,我不喜欢> = 991px.article-sidebar之间的所有样式重复.article-sidebar-bottom我知道,如果同一类的不同媒体查询之间存在重复,则可以按照此处的说明将它们合并;如果不涉及媒体查询,我可以用逗号分隔CSS选择器,但是有什么方法可以避免在其中重复我自己这个案例?

詹姆斯·K

我现在对此进行了更多研究,并提出了一种解决方案,该解决方案不会以相同的方式复制代码:

.article-sidebar, .article-sidebar-bottom {
    text-align: left
    padding-top: 46px;
    border-top: 1px solid #eeeeee;
    padding-left: 5%;
    padding-right: 5%;
}

@media (min-width: 992px) {
    .article-sidebar {
        float: right;
        max-width: 28%;
        border-top: initial;
        padding-left: initial;
        padding-right: initial;
    }
}

我认为我的问题是我在考虑“自上而下”,即从大屏幕开始,然后在媒体查询中添加对较小设备的支持。如果媒体查询处理的是更大的屏幕,那么我认为它变得更加整洁。

感谢到目前为止发表评论的每个人。尽管我已经找到了解决自己问题的更好的方法,但是我仍然对这个问题的原始措词的答案很感兴趣……例如,是否有人可以提供将相同样式用于不同类和媒体组合的语法?查询(如果存在此语法...)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用CSS媒体查询定位Chromecast

来自分类Dev

jQuery与CSS媒体查询等效吗?

来自分类Dev

将媒体查询与合格选择器组合在一起的语法

来自分类Dev

在选择器中定义CSS媒体查询

来自分类Dev

是否可以将媒体查询合并为相同的CSS规则?

来自分类Dev

是否可以从Javascript返回CSS媒体查询声明?

来自分类Dev

使用媒体查询平滑CSS过渡

来自分类Dev

我们可以使用JQuery或Javascript创建CSS选择器规则吗?

来自分类Dev

我可以按特定顺序定位CSS选择器吗?

来自分类Dev

引用的CSS变量可以在选择器中覆盖吗?

来自分类Dev

在CSS中使用媒体查询

来自分类Dev

CSS媒体查询范围

来自分类Dev

CSS媒体查询打印:

来自分类Dev

从CSS媒体查询开始

来自分类Dev

Adobe Edge Animate:是否可以使用CSS媒体查询来调整图像大小?

来自分类Dev

是否可以在JavaScript中使用CSS之类的媒体查询功能?

来自分类Dev

我可以通过使用媒体查询设置Content CSS属性来测试Retina设备吗?

来自分类Dev

在CSS中结合使用“ OR”逻辑和子选择器

来自分类Dev

使用媒体查询的CSS功能检测

来自分类Dev

无法在我的ASP经典代码页中直接使用媒体查询(与CSS)

来自分类Dev

结合不CSS选择器与相邻选择器

来自分类Dev

动态CSS媒体查询

来自分类Dev

我的CSS媒体查询出了什么问题?

来自分类Dev

CSS媒体查询:使用比较

来自分类Dev

CSS媒体查询(媒体屏幕)

来自分类Dev

CSS和媒体查询

来自分类Dev

CSS 媒体查询被忽略

来自分类Dev

CSS 媒体查询在我的浏览器上不起作用

来自分类Dev

如何使用 css 媒体查询仅在移动设备上定位谷歌浏览器