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
  );
相关推荐
Moment2 小时前
小米不仅造车,还造模型?309B参数全开源,深度思考完胜DeepSeek 🐒🐒🐒
前端·人工智能·后端
苏打水com2 小时前
第十六篇:Day46-48 前端安全进阶——从“漏洞防范”到“安全体系”(对标职场“攻防实战”需求)
前端·javascript·css·vue.js·html
5C242 小时前
从思想到实践:前端工程化体系与 Webpack 构建架构深度解析
前端·前端工程化
咕噜企业分发小米2 小时前
如何平衡服务器内存使用率和系统稳定性?
java·服务器·前端
前端无涯2 小时前
react组件(2)---State 与生命周期
前端·react.js
GoldenPlayer2 小时前
Web-Tech:CORS的触发机制
前端
AY呀2 小时前
Vite:现代前端构建工具的革命与实战指南
前端·vue.js·vite
爬山算法2 小时前
Netty(13)Netty中的事件和回调机制
java·前端·算法
前端无涯2 小时前
react组件(3)---组件间的通信
前端·react.js