sass - 将媒体查询与合格选择器相结合的语法

标签 sass css-selectors media-queries

在我们当前的设计中,表单元素在移动设备上的样式不同:

@media screen and (max-width: 759px) {
    form label {
        display: block;
        float: none;
    }
    /*There's more...*/
}

鉴于屏幕空间有限,我们基本上是在强制使用垂直表单布局(classic uxmatters link 中的#3-4)。

因为某些表单标签必须非常冗长出于合理的原因,我们现在希望将此样式应用于某些桌面表单,即超出媒体查询范围。但是,这是无效的 SASS 语法:
@media screen and (max-width: 759px), .vertical-form {
    /*...*/
}

如何将规则集应用于媒体查询中的输出 .vertical-form form label (或者,理想情况下, form.vertical-form label )元素?

最佳答案

媒体查询不是选择器,它们是特殊的语言结构。您不能将它们与媒体查询以外的任何内容结合起来。您将不得不使用 mixin 来执行您所要求的操作,因为扩展也不适用于媒体查询。

@mixin vertical-form {
    label {
        display: block;
        float: none;
    }
}

@media screen and (max-width: 759px) {
    form {
        @include vertical-form;
    }
}

.vertical-form {
    @include vertical-form;
}

关于sass - 将媒体查询与合格选择器相结合的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21817972/

相关文章:

CSS 如何覆盖父主题中的特定选择器?

Javascript If/Else 语句检查内容 :url

css - CSS 媒体查询中 width 和 device-width 的区别

css - 有 SASS.js 吗?像 LESS.js 这样的东西?

css - 在 Rails 3.1 Assets 管道中使用来自 ExtJS4 的 sass

python - 如何点击图像selenium python

来自类名的 CSS 属性值

css - 为什么在使用媒体查询时需要为最大高度添加额外的像素?

ruby-on-rails - Rails sass 编译中的 "Error: Undefined variable"

html - 悬停时不显示标签