LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

【WEB开发】CSS支持 if / else 了

admin
2025年7月5日 15:46 本文热度 49

从 Chrome 137 开始,CSS 加入了一个新功能:内联条件函数if()。它可以让你在样式中直接写判断逻辑。这样可以少用 @media 和 @supports,让样式更集中、更好维护。

什么是 if()

if() 是一个 CSS 函数。它可以根据条件选择不同的样式值。用法和 JavaScript 里的 if...else 类似。

它支持三种条件:

  • media():媒体查询,用来检测屏幕大小、方向等。
  • supports():功能判断,用来看浏览器是否支持某个 CSS 功能。
  • style():样式值判断,常配合 CSS 变量使用,用来判断元素的状态。

基本语法:

propertyif(
  condition-1value-1;
  condition-2value-2;
  /* … */
  elsevalue-n);

其中 else 是可选的,用于指定默认值。

用 if() 有三个优点:

  • 更简洁:逻辑和样式写在一起,不用分成很多块。
  • 更直接style() 可以用元素自己的属性,不用依赖父元素。
  • 更灵活:能配合变量、函数等新特性,写出更动态的样式。

应用场景

内联媒体查询

根据屏幕方向切换卡片布局:

.card-container {
  flex-directionif(
    media(orientation: landscape): row;
    else: column);
}

横屏时用横向布局,竖屏时用纵向布局。

内联兼容查询

根据浏览器是否支持 backdrop-filter 添加毛玻璃效果:

.modal {
  backgroundif(
    supports(backdrop-filter: blur(10px)):
      rgba(2552552550.6);
    else:
      #ffffff);
  backdrop-filterif(
    supports(backdrop-filter: blur(10px)):
      blur(10px));
}

支持毛玻璃时用半透明背景,不支持时用白色。

基于状态的样式

根据主题模式切换文本颜色:

<div class="text" data-theme="dark">欢迎使用内联 if()</div>
.text {
  --themeattr(data-theme);
  colorif(
    style(--theme: dark): #f1f1f1;
    style(--theme: light): #222;
    else#444);
}

深色主题时用浅文字,浅色主题时用深文字。

浏览器支持


阅读原文:原文链接


该文章在 2025/7/7 11:57:18 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved