如何让 SASS 嵌套的嵌套媒体查询与媒体查询或运算符的使用一起使用

2023-11-22

我正在尝试让嵌套的 IE10+ 媒体查询在 SASS 中工作,但我不理解输出。我认为使用媒体查询会让事情变得很奇怪or操作员,。因此,此查询不会适用于所有情况,因为唯一输出的是查询的一侧or.

请注意,这些最初是 mixin;我删除了 mixins 以使事情更容易调试

.element {
  @media only screen and (min-width: 825px) and (max-width: 999px) {
    font-size: 10.4vw;

    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      font-size: 9.6vw;
    }
  }
}

编译为:

@media only screen and (min-width: 825px) and (max-width: 999px) {
  .element {
    font-size: 10.4vw;
  }
}
@media only screen and (min-width: 825px) and (max-width: 999px) and (-ms-high-contrast: active) {
  .element {
    font-size: 9.6vw;
  }
}

预期结果是:

@media all and (-ms-high-contrast: none) and (min-width: 825px) and (max-width: 999px), (-ms-high-contrast: active) and (min-width: 825px) and (max-width: 999px) {
  .element {
    font-size: 9.6vw;
  }
}

这似乎是一个非常具体的案例,部分是 Sass 中的不当行为,部分是模糊的期望。

Sass 可以毫无问题地处理与逗号分隔媒体查询相结合的嵌套...直到您开始在内部和外部查询上指定显示类型:

/* without `screen` */
.foo {
    @media (min-width: 20em) {
        color: yellow;

        @media all and (max-width: 40em), (orientation: portrait) {
            color: green;
        }
    }
}

/* without `only` */
.bar {
    @media screen and (min-width: 20em) {
        color: yellow;

        @media all and (max-width: 40em), (orientation: portrait) {
            color: green;
        }
    }
}

/* with `only screen` */
.buzz {
    @media only screen and (min-width: 20em) {
        color: red;

        @media all and (max-width: 40em) {
            color: blue;
        }
    }
}

Output:

/* without `screen` */
@media (min-width: 20em) {
  .foo {
    color: yellow;
  }
}
@media all and (min-width: 20em) and (max-width: 40em), (min-width: 20em) and (orientation: portrait) {
  .foo {
    color: green;
  }
}

/* without `only` */
@media screen and (min-width: 20em) {
  .bar {
    color: yellow;
  }
}
@media screen and (min-width: 20em) and (orientation: portrait) {
  .bar {
    color: green;
  }
}

/* with `only screen` */
@media only screen and (min-width: 20em) {
  .buzz {
    color: red;
  }
}

在内部查询和外部查询都包含显示类型(全部、屏幕)的两种情况下,编译的结果与写入的内容不正确匹配。这似乎是 Sass 尝试编写类似于有效媒体查询的内容的情况(因为它知道screen and all无效)。

因此只需指定一次显示类型。

.element {
  @media (min-width: 825px) and (max-width: 999px) {
    font-size: 10.4vw;

    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      font-size: 9.6vw;
    }
  }
}

编译为:

@media (min-width: 825px) and (max-width: 999px) {
  .element {
    font-size: 10.4vw;
  }
}
@media all and (min-width: 825px) and (max-width: 999px) and (-ms-high-contrast: none), (min-width: 825px) and (max-width: 999px) and (-ms-high-contrast: active) {
  .element {
    font-size: 9.6vw;
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 SASS 嵌套的嵌套媒体查询与媒体查询或运算符的使用一起使用 的相关文章

  • 多列定义列表[重复]

    这个问题在这里已经有答案了 我有一个 dl 像这样 dl dt Quantity dd dt Size dd dt Rise dd dt Color dd dd dt dd dt dd dt dd dt dl 该列表是通过 php 动态生成
  • 当鼠标悬停在链接上时,如何在链接旁边创建弹出框?

    这是我想要实现的 我的网页上显示了两个超链接 a href http foo com foo a a href http bar com bar a 我还有两个对 div 链接的描述 div foo means foo div div ba
  • 设置overflow-y可见,而overflow-x为auto,以便内容可以垂直溢出父容器

    我在用着position absolute and position relative如果将其父级悬停在图像上 则在图像上显示文本 文本和图像父 div 所在的容器设置为overflow x auto 使其具有水平滚动条 我想要看起来垂直溢
  • ReactTable 修复了最后一行

    我正在使用 ReactTable 最后我需要创建一些摘要 当分页存在时 它每次都应该可见 可以用react table来实现吗 我可以通过创建下一个表来部分解决这个问题 但我没有找到如何隐藏标题的方法 另一个问题是调整列宽度时 它不会应用于
  • javascript中怪异模式的元素宽度?

    我一直在浏览所有流行的 js 库 但我找不到一个具有 DOM 元素宽度函数的库 该函数实际上可以解释 Internet Explorer 中的怪异模式 问题是 当启用怪异模式时 填充和边框不会计入宽度 据我所知 当省略 doctype 或将
  • 如何观察包含许多 sass 文件的整个目录/文件夹的变化

    我如何跟踪包含许多 sass 文件的整个目录的更改 我正在使用以下命令来观察 sass 的变化 file sass watch style scss style css 但是如何观察包含许多 sass 文件的整个目录 文件夹的变化 只需使用
  • 使用JQuery检查元素是否有边框?

    所以我正在玩 el css 尝试确定元素是否有边框 我用 css border style solid 设置边框 这是可行的 但实际上它设置了 4 种单独的样式 border right style border left style bo
  • 如何在表格的 tbody/thead 部分周围创建边框?

    我正在尝试创建一个包含表格数据的页面 该页面必须显示为多个表格 然而 我有两个相互冲突的要求需要解决 每个表格周围都必须有边框 每个表格的列宽必须能够根据内容重新调整大小 但是 所有表中的列宽必须一致 即列的大小基于所有表中该列中最大的单元
  • 如何使用CSS将背景图像放入选择选项标签中

    我有一个从 json 响应接收的国家 地区下拉列表 并且想要在国家 地区名称旁边添加相应的国家 地区国旗图标 也从 json 响应获取图像 我已经尝试了不同的 jQuery 和 bootstrap 插件 但他们所做的是破坏我以前的选择框样式
  • 监听浏览器宽度以进行响应式网页设计?

    我正在努力使我的网站适合移动设备 我想知道浏览器窗口的大小 以便当它比 728px 窄时我可以执行某些操作 而当它大于 728px 时我可以执行其他操作 这必须考虑到调整 PC 上的窗口大小以及在手机中从纵向模式更改为横向模式 如何才能做到
  • IE bug:具有不透明背景色的绝对定位元素

    我有一个绝对定位的 DIV 需要捕获 onclick 事件 事实证明 在 IE7 中 DIV 似乎没有诸如单击甚至光标之类的 足迹 例如 div width 200px height 200px position absolute bord
  • 为什么我的图像下方有空间? [复制]

    这个问题在这里已经有答案了 图像在下面获得了神秘的空白空间 即使padding 0 margin 0被应用 示范 http jsfiddle net cLETP 红色边框应该包围图像 但底部有空间 造成这种情况的原因是什么 如何删除该空间
  • 无法正确显示行

    我应该在这个问题的开头说我完全没有 html css javascript 背景 所以请对我宽容点 如果我使用了错误的术语或者问了一个愚蠢的问题 没有提供足够的信息 请抱歉 我正在尝试让一个可扩展的表工作 通过阅读论坛线程 教程 将 nex
  • 删除特定数据表上的所有边框

    我需要使用 PrimeFaces 隐藏一个数据表的所有边框 而不是全部 我尝试了很多事情 但没有人奏效 有谁知道该怎么做 我已将以下样式 单独 应用于ui datatable class border hidden important bo
  • 在 ember-cli 中安装 Foundation 5

    我对 ember 相当陌生 对构建工具也很陌生 我目前正在使用通常的基础安装以及基础 cli 和指南针来编译我的 css 这有点痛苦 并且对于团队工作来说非常糟糕 我认为用 Bower 安装文件并使用会更好ember cli compass
  • 如何在其他div id的悬停中使用div显示块

    如何打开div悬停时标记href tag 这是我在悬停 href 标签上显示 div 标签的代码 Services is id of href tag Services is id of div tag Service hover Serv
  • 如何使用javascript确保元素仅在圆上朝一个方向移动?

    好吧 我承认我对三角学真的很糟糕 出于上下文的考虑 我将添加我在这里提到的问题中的内容 参考问题 https stackoverflow com a 39429290 168492 https stackoverflow com a 394
  • 基于现有类的 Sass 'if' 语句

    我是 Sass 新手 想使用 if 语句来检测元素上的现有类 以便生成相关的 css 我的设置有大量 Javascript 生成的图像 这些图像被分配了唯一的 ID 以及 图片 类和随机分配的上 右 下或左类 我还使用 Sass 的随机函数
  • 两列表:一列尽可能小,另一列占据其余部分

    我在 div 中有一个 to columns 表 div table tbody tr td class action a a td td class content p Bigger text variable size p td tr
  • 具有 100% 高度行和 Internet Explorer 9 的表格

    我有以下示例 div style height 150px background color AAAAFF div

随机推荐

  • 数据文件中的字段超出最大长度 - 错误

    当我尝试将数据插入到指定大小的列中时varchar2 4000 在表中我收到错误为 Field in data file exceeds maximum length 数据 1 2 3 4 5 6 7 8 9 10 11 12 13 15
  • Android:如何在 CSV 文件中写入换行符?

    我正在尝试在 CSV 文件中组织我的数据 我想将我的数据放入特定行 因此我尝试放入 n 但它不起作用 请帮助我将数据放入特定行 谢谢进步 public void writeData String data String strFilePat
  • Java是向后兼容的,但是为什么jdk从1.6升级到1.8时需要升级很多库呢?

    近期我们升级了Jdk版本1 6 to 1 8在我的一个 Java 项目中 但有一些编译或运行时错误 所以我必须升级一些库 gradle 1 9 to 1 10 spring 3 x to 4 x 这是因为他们使用的是 ASM 的一些早期版本
  • ASP 的 JSON 返回错误

    我们正在使用由外部供应商编写的 ASP 应用程序 我的任务是对应用程序进行一些小的更改 但是我对 asp 或 json 一无所知 通过一些研究 我将其放在一起 我在表单上创建了一个文本框 我想将客户端 IP 地址返回到该文本框 我写了一个函
  • SSRS 2008:如何根据类别字段(有条件)隐藏表行

    I am new to Sql Server Reporting Services I have created my following report I want to remove hide rows of Brand Total w
  • 删除使用情节提要创建的导航栏中的半透明栏

    我从故事板创建了一个导航控制器 现在我尝试删除它的半透明选项 我把它放在我的 appdelegate m 上 UINavigationBar appearance setBarTintColor UIColor colorWithRed 5
  • PHP 检测 shell_exec() 命令是否失败

    我在 PHP 的 shell exec 中运行 ffmpeg 命令来转换列表中的多个视频 是否有办法检测视频转换时是否发生错误 或至少验证它完全完成转换 如果发生错误 我不想停止转换其他视频 只是能够记录错误 使用另一个系统调用函数捕获退出
  • 两个正整数相乘的结果转换为负值

    我有这样的代码 int a 629339 int b 4096 long res a b 结果是 1717194752但如果我添加一个手动转换到长long res long a b or long res long a b 结果是正确的25
  • 如何使用 javascript / jQuery 递增/递减十六进制颜色值

    是否可以在 jQuery JavaScript 中逐步增加或减少十六进制颜色值 我想做的是这样的 改编自 for 循环 for var i 0 i lt 100 i console log i 我想做类似的事情 for var color
  • 基于多个 1 级列的子集多索引 DataFrame

    我有一个多索引 DataFrame 但我想为每个 0 级变量 即列 一 和 二 在每个级别 1 保留两列 我可以分别对它们进行子集化 但我想将它们放在一起 这样我就可以并排保留值 这是数据框 index pd MultiIndex from
  • 如何在SQL中从字符串中提取某些第n个字符

    我有一个返回值为 xxx xxx xxx xxxxx xx x 的字段 我如何从该代码中提取第 10 个字符 select substring xxx xxx xxx xxxxx xx x 10 1 The documentation fo
  • 为什么我在运行 MS Access 查询时收到“输入参数值”?

    SELECT ID Name SELECT CityName FROM City WHERE Employee CityID City CityID AS City Name FROM Employee WHERE City Name Ne
  • firebase.auth 不是函数

    我将 Webpack 与 firebase 和 firebase admin 一起使用 为了安装 firebase 我运行了 npm install save firebase 我正在使用以下命令导入 firebase import as
  • ASP.NET MVC 3.0.0.1 版安全补丁破坏了构建 [重复]

    这个问题在这里已经有答案了 安装 ASP NET MVC 3 安全更新后KB2990942看来 MVC 版本增加了3 0 0 0 to 3 0 0 1 这会导致 Visual Studio 不再找到引用
  • pandas 函数与 isin

    我有一个像这样的数据框 aa bb cc a x y a 1 b d z b 2 c e f s 3 np nan d 4 我正在尝试创建一个像这样的新专栏 aa bb cc dd a x y a 1 True b d z b 2 True
  • 追踪 React 组件重新渲染的原因

    是否有系统的方法来调试导致组件在 React 中重新渲染的原因 我放置了一个简单的 console log 来查看它渲染了多少次 但我很难弄清楚是什么导致组件渲染多次 即在我的情况下 4 次 是否存在显示时间线和 或所有组件树渲染和顺序的工
  • 如何将*可选*引用返回到 RefCell 内容中

    我有一种类型 将其数据存储在后面的容器中Rc
  • 在 Mac App Bundle 中嵌入框架

    我正在尝试将 SDL 和 SDL ttf 框架添加到我的应用程序中 并且我已经按照通常的方式完成了操作 将它们添加到 将二进制文件与库链接 部分中 并添加了一个复制文件阶段 将它们复制到 Frameworks 目录 这确实创建了一个带有嵌入
  • Angular 2 隐藏字段的表单验证

    我有一个银行贷款申请 其中包含很多输入字段 其中一些是隐藏的 隐藏字段根据一组条件动态显示 例如 如果您选择选项 1 则会显示隐藏字段 并隐藏一些其他字段 如果您选择选项 2 某些字段将显示 其他字段将隐藏 在表单的末尾 我有一个 这意味着
  • 如何让 SASS 嵌套的嵌套媒体查询与媒体查询或运算符的使用一起使用

    我正在尝试让嵌套的 IE10 媒体查询在 SASS 中工作 但我不理解输出 我认为使用媒体查询会让事情变得很奇怪or操作员 因此 此查询不会适用于所有情况 因为唯一输出的是查询的一侧or 请注意 这些最初是 mixin 我删除了 mixin