首页 > web前端 > css教程 > CSS @当

CSS @当

尊渡假赌尊渡假赌尊渡假赌
发布: 2025-03-19 10:29:09
原创
548 人浏览过

Proposal for CSS @when

CSS 领域最近发展迅速。我又听说了一件从未见过的全新事物,同样是通过 Miriam 了解到的:CSS 条件语句。

? CSS 工作组刚刚决定将 @tabatkins 的 when/else 提案纳入下一级 CSS 条件语句。这是该提案:https://www.php.cn/link/2d3bd60a2d899b49827efa1d74476809

— Mia, on Bass (@TerribleMia) 2021年9月15日

媒体查询中已经存在逻辑。事实上,媒体查询本身就是一种逻辑。

<code>@media (min-width: 600px) {
  /* 当此媒体查询为真时,执行这些样式。 */
}</code>
登录后复制

如果您想要互斥的样式,则需要编写两个媒体查询:

<code>@media (min-width: 600px) {
  /* ... */
}
@media (max-width: 599px) {
  /* ... */
}</code>
登录后复制

这有点……繁琐。新的提案中的语法简洁得多:

<code>@when media(min-width: 600px) {
  /* ... */
}
@else {
  /* ... */
}</code>
登录后复制

看起来您可以通过 and 使用多个条件,使用多个 @else 语句创建级联逻辑堆栈,并且不仅可以使用 @media,还可以使用 @supports。

<code>@when media(width >= 400px) and media(pointer: fine) and supports(display: flex) {
  /* A */
} @else supports(caret-color: pink) and supports(background: double-rainbow()) {
  /* B */
} @else {
  /* C */
}</code>
登录后复制

在我看来,这非常合乎逻辑且方便!

我看到关于命名的一个小争论。@if 也可能是一个合乎逻辑的名称。但是 Sass 使用 @if,如果他们必须将所有 Sass 逻辑重构为新的东西,或者无论如何都会出现这种情况,对大量的开发者来说都会非常烦人。CSS 应该向任何预处理器让步吗?不,但 Sass 已经存在很长时间了,而且非常流行,而且有一个非常好的替代方案,所以为什么要造成痛苦呢?在那条讨论中,不仅仅是关于 Sass 的问题——一些人认为 @when 本身就是一个更好的名称。

以上是CSS @当的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板