CSS 里的斜杠 /:你可能忽略的小细节

在日常写 CSS 时,很多人以为 / 只是数学除号,或者是可以随便用来分隔的符号。但实际上,它在 CSS 中有两种很重要的用法

  1. 作为语法分隔符,区分不同类型的值。
  2. 作为数学运算符,表示除法或比例。

我们一起来看看常见的场景。


1. 斜杠作为分隔符

有些 CSS 简写属性的语法,必须用 / 来区分不同部分,否则浏览器就分不清。

字体简写:字号 / 行高

css 复制代码
p {
  font: 16px/1.5 "Arial", sans-serif;
}

这里的 16px/1.5 表示 字号是 16px,行高是 1.5 。如果你把 / 去掉写成 16px 1.5,浏览器会直接报错。


圆角:椭圆半径

css 复制代码
.card {
  border-radius: 50% / 30%;
}

这里 / 的意思是 横向半径 50%,纵向半径 30% ,结果就是一个椭圆角。

如果没有 /,写成 50% 30%,那就成了「左上=50%,右上=30%,右下=50%,左下=30%」,完全不同的效果。


Grid 布局:区域范围

css 复制代码
.item {
  grid-area: 1 / 2 / 3 / 5;
}

这里的四个数字依次是:行起点 / 列起点 / 行终点 / 列终点

每个 / 把行和列的定义分隔开,否则就混淆了。


背景图:位置 / 尺寸

css 复制代码
.hero {
  background: url(bg.jpg) center / cover no-repeat;
}

这里 center / cover 的意思是:位置居中,尺寸为 cover

如果没有 /,浏览器会把 cover 当成颜色或其他属性,结果完全不对。


边框图像:三段式写法

css 复制代码
.box {
  border-image: url(border.png) 30 / 12 / 6 stretch;
}

这里的 / 分别把 slice / width / outset 分开。少一个斜杠就会解析出错。


2. 斜杠作为比例或除法

除了分隔符,/ 还可以真正做「数学」。

宽高比

css 复制代码
.video {
  aspect-ratio: 16 / 9;
}

这是最常见的用法,16 / 9 就等于「16:9 的宽高比」。


calc() 计算

css 复制代码
.col {
  width: calc(100% / 3);
}

这里 100% / 3 表示把父容器宽度平均分成三份。

要注意:只能用数字去除单位值 ,像 1rem / 2rem 是不合法的。


3. 小结

可以把 CSS 里的 / 记成两类:

  • 分隔符:用在简写属性里,把不同语义的值分开。

    • 代表场景:fontborder-radiusgrid-areabackgroundborder-imagemask
  • 比例/除法:用在需要算比例或分配空间的地方。

    • 代表场景:aspect-ratiocalc()

一句口诀:

👉 在简写里,/ 是语法规定的"隔板";在计算里,/ 是数学里的"除法"。

相关推荐
linux_cfan2 小时前
17 · 引擎适配器全景:HLS/DASH/Vimeo/Mux/Cast
前端·javascript·音视频
计算机魔术师2 小时前
烧掉2780亿美元还不够?OpenAI的资本豪赌让人头皮发麻
前端
IT_陈寒3 小时前
Java线程池用错参数,我的服务居然悄悄崩溃了
前端·人工智能·后端
卡布鲁3 小时前
React useMemo 与 useCallback 完全指南:原理、场景与避坑
前端·react.js
碳基修炼3 小时前
排查记:本地 devServer 是 http,浏览器却把 302 重定向升级成了 https
前端·http
步行cgn3 小时前
Spring p 命名空间注入详解
java·前端·spring
何何____4 小时前
Vue 生命周期详解
前端·javascript
江米小枣tonylua4 小时前
TypeScript 全面の拥抱 !Prisma 8 + Electron 升级实战
前端
闪耀之光M784 小时前
npm命令解析
前端
咸鱼老弟4 小时前
AI Agent 的"自主性悖论"——为什么给它的自由度越大,越要配一套更硬的护栏
前端·人工智能