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()

一句口诀:

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

相关推荐
J***Q2925 小时前
Vue数据可视化
前端·vue.js·信息可视化
ttod_qzstudio7 小时前
深入理解 Vue 3 的 h 函数:构建动态 UI 的利器
前端·vue.js
_大龄7 小时前
前端解析excel
前端·excel
一叶茶7 小时前
移动端平板打开的三种模式。
前端·javascript
前端大卫7 小时前
一文搞懂 Webpack 分包:async、initial 与 all 的区别【附源码】
前端
Want5958 小时前
HTML音乐圣诞树
前端·html
老前端的功夫8 小时前
前端浏览器缓存深度解析:从网络请求到极致性能优化
前端·javascript·网络·缓存·性能优化
Running_slave9 小时前
你应该了解的TCP滑窗
前端·网络协议·tcp/ip
程序员小寒9 小时前
前端高频面试题之CSS篇(一)
前端·css·面试·css3
颜酱10 小时前
Monorepo 架构以及工具选型、搭建
前端·javascript·node.js