过去很长一段时间,前端开发主要使用 px 作为尺寸单位。px 是固定单位,写多少就是多少,显示效果稳定,但缺乏灵活性。后来,为了适应不同屏幕,rem 逐渐流行起来。rem 基于根字体大小变化,能够实现整体缩放,比 px 更适应响应式布局。很多团队用它来做移动端适配。
但你如果去看一些大型互联网公司最新的前端项目,会发现一个明显变化:px 和 rem 的使用正在减少,取而代之的是 vw 和 clamp() 这样的新方案。
这不是盲目追新,而是因为前端开发的需求变了。我们不再满足于“在不同宽度的设备上显示正常”,而是追求“在任何尺寸下都显示舒适”。px 和 rem 虽然能用,但已经不够用了。
px 是固定值,无法根据屏幕自动调整。rem 虽然可以缩放,但通常需要借助媒体查询设置不同断点下的根字号,效果是阶梯式变化,不够平滑,维护起来也麻烦。
于是,vw 和 clamp() 开始被广泛采用。
vw 是“视口宽度”单位。1vw 等于屏幕宽度的 1%。也就是说,如果你的字体大小设置为 5vw,那么它会随着浏览器窗口宽度的变化自动调整。
例如:
.title {
font-size: 5vw;
}
这样做的好处是,元素尺寸能够实时、平滑地变化,没有跳跃感,视觉上更连贯。
但 vw 也有问题:它太“自由”了。在大屏幕上,字可能会大得离谱;在小屏幕上,又可能小得看不清。我们需要一个办法,让它既能自动缩放,又不超出合理范围。
clamp() 是 css 中的一个函数,它接收三个参数:最小值、首选值和最大值。它的作用是让数值在一个范围内动态变化,不会太大也不会太小。
基本写法是:clamp(最小值, 首选值, 最大值)
举个例子,如果我们希望一个标题字号在移动端不小于 20px,在桌面端不大于 40px,中间按视口宽度自适应,可以这样写:
.title {
font-size: clamp(20px, 5vw, 40px);
}
这意味着:
字体最小为 20px,
理想状态是屏幕宽度的 5%,
最大不超过 40px。
这样一来,既保持了流畅的缩放效果,又避免了极端情况下的显示问题。
这种写法不仅代码更简洁,而且省去了多个媒体查询的维护成本。以往需要写好几段代码才能实现的效果,现在一行就能搞定。
px 仍然适合一些需要绝对固定的尺寸,比如边框粗细、阴影大小等。rem 在一些内部系统、文档类网页中依然实用,因为它们对精细度的要求不如用户端产品高。
但对于面向广大用户的产品,尤其是强调视觉和交互体验的网站或应用,vw + clamp() 的组合正在成为更主流的选择。它让UI真正实现了“流动布局”,视觉更自然,开发也更高效。
总的来说,前端单位的使用经历了从 px 到 rem,再到 vw 和 clamp() 的演变。这不仅是技术实现的变化,更反映了我们对于“响应式”理解加深——从适配几个断点,到迎接任意尺寸的屏幕。
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!
rem vh vw vmin vmax做为CSS3中的新单位,对CSS3的单位的使用了解是非常重要的,也许你会遇到一个问题可以通过css的这些单位得到解决,同时对于rem,vh和vw,百分比等都是我们做自适应网站常用的方法。
PX、PT、EM、ex和in等都是我们常用的长度单位,尤其在网页的字体大小中经常用到。但是你知道PX、PT和EM之间是如何进行准换的吗?这里为大家找到了一个px、pt、em和percent大小转换的一个表格
对于绘图和印刷而言,“单位”相当重要,然而在网页排版里,单位也是同样具有重要性,在CSS3普及以来,更支持了一些方便好用的单位(px、em、rem…等),这篇文章将整理这些常用的CSS单位,也帮助自己未来在使用上能更加得心应手。
em 单位往往被认为是相对于父元素的 font-size 大小来进行计算的。例如一个元素的父元素设置了如下的 font-size:而其中的 div 设置了 font-size 设置了 1.5em :那么 div 元素的 font-size = 20 * 1.5 = 30px.
前端开发过程中,尺寸单位是我们必须用到的,下面我们对css中常见的几种尺寸单位px,em,rem,rpx进行逐一介绍 在这之前,需要先对几个概念进行普及介绍
度(Degress)。一个圆共360度;梯度(Gradians)。一个圆共400梯度;弧度(Radians)。一个圆共2π弧度;转、圈(Turns)。一个圆共1圈
像 px、rem、em、% 这样的长度单位大家肯定都很熟悉,前者为绝对单位,后者为相对单位。CSS3 又引入了新单位:vw、vh、vmin、vmax。下面对它们做个详细介绍。
我们知道,清空canvas画布内容有以下两个方法。 第一种方法是cearRect函数:二种方法就是用原值重新设置一下canvas的宽(或者高)第二种方法可以起作用,是因为canvas的一个特点:
像素 (px) 是一种绝对单位(absolute units), 因为无论其他相关的设置怎么变化,像素指定的值是不会变化的。其他的绝对单位如下:mm, cm, in: 毫米(Millimeters)
CSS角度单位有:deg、grad、rad、turn;下面本篇文章给大家介绍一下这些CSS角度单位。度(Degress)。一个圆共360度;梯度(Gradians)。一个圆共400梯度;弧度(Radians)。一个圆共2π弧度;转、圈(Turns)。一个圆共1圈
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!