08.CSS if() 函数

CSS if() 函数允许基于条件(如媒体查询、自定义属性或特性支持)设置不同的属性值,为CSS带来了真正的条件逻辑。

本章概述

CSS if() 函数是CSS中最具革命性的特性之一,它为CSS引入了真正的条件逻辑。通过if()函数,我们可以在单个属性声明中根据不同条件设置不同的值,无需编写多个CSS规则块,大大简化了响应式设计和主题切换的实现。

学习目标

  • 理解CSS if()函数的基本概念和语法

  • 掌握不同类型的条件判断方法

  • 学会在实际项目中应用if()函数

  • 了解if()函数与其他CSS特性的结合使用

  • 掌握浏览器兼容性和渐进增强策略

CSS if()函数基础

基本语法

CSS if()函数的基本语法结构:

go 复制代码
property: if(
  condition-1: value-1;
  condition-2: value-2;
  condition-3: value-3;
  else: default-value
);

简单示例

go 复制代码
.card {
  --status: attr(data-status type(<custom-ident>));

  border-color: if(
    style(--status: pending): royalblue;
    style(--status: complete): seagreen;
    else: gray
  );
}

支持的条件类型

1. 样式查询 - style()

检查CSS自定义属性(CSS变量)的值:

go 复制代码
.card {
  --theme: light;
  --size: medium;
  
  /* 基于主题的背景色 */
  background: if(
    style(--theme: dark): #1a1a1a;
    style(--theme: light): #ffffff;
    else: #f5f5f5
  );
  
  /* 基于尺寸的内边距 */
  padding: if(
    style(--size: large): 2rem;
    style(--size: medium): 1.5rem;
    style(--size: small): 1rem;
    else: 1rem
  );
相关推荐
donecoding1 小时前
一个 sudo 引发的血案:npm 全局包权限错乱彻底修复
前端·node.js·前端工程化
风骏时光牛马1 小时前
Raku正则匹配与数据批量处理实操案例
前端
nbwenren1 小时前
2026实测:Gemini 3 镜像站视觉能力实践——拍照原型图,一键生成 HTML+CSS 代码
前端·css·html
Lee川1 小时前
Prisma 实战指南:像搭积木一样设计古诗词数据库
前端·数据库·后端
jinanwuhuaguo1 小时前
(第二十九篇)OpenClaw 实时与具身的跃迁——从异步孤岛到数字世界的“原住民”
前端·网络·人工智能·重构·openclaw
广州华水科技1 小时前
深度测评2026年单北斗GNSS位移监测系统推荐,与高口碑变形监测设备一同引领行业新风尚
前端
Alice-YUE2 小时前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
是上好佳佳佳呀3 小时前
【前端(十一)】JavaScript 语法基础笔记(多语言对比)
前端·javascript·笔记
CDN3604 小时前
排查实录:网站偶发502/504错误?360CDN回源超时配置与日志分析技巧
前端·数据库