#yyds干货盘点#CSS的clamp()函数实现响应式布局
source link: https://blog.51cto.com/u_11365839/5412211
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
实现响应式布局,一定会想到媒体查询,媒体查询有一个不太方便的地方,不同的设备都要写一套兼容方案。今天就分享一种新的解决方案——clamp()函数。
min & max
提到clamp()函数,就不得不提的就是它的两个前辈函数——min()和max(),顾名思义,前者是取最小值,后者是取最大值。该节就以 min() 方法为例,详细介绍一下这两个函数的用法。
min()方法使用如下,以一个或多个逗号分隔的数学函数、字面量或是其他表达式作为参数,返回参数列表中的最小值:
举个例子:
font-size: min(2px + 8px, 11px); //这里“+”左右要有空格
不过,上面两个例子在现实中毫无意义,因为单纯比较 8px 和 9px 是没有实际应用场景,min 的主场还是在响应式布局上的。我们看个有意义的例子:
.css-min {
width: min(50vw, 300px);
}
div {
background-color: pink;
}
</style>
<div class="css-min">
min(50vw, 300px)
</div>
解释一下上面的代码,如果视窗小于 600px, 则粉色区域占据一半的视窗宽度(50vw);反之则宽度保持 300px。效果大约等价于如下传统方式——可以看出 min 代码简洁许多:
max-width
width: 50vw;
max-width: 300px;
}
clamp
刚刚讲了很多min()的内容,接下来进入主题,clamp是什么,先看看官方定义:
clamp()函数的作用是把一个值限制在一个上限和下限之间,当这个值超过最小值和最大值的范围时,在最小值和最大值之间选择一个值使用。它接收三个参数:最小值、首选值、最大值。
接下来看个例子:
width: clamp(200px, 50vw, 300px)
}
- 当屏宽小于 400px 时,首选值(50vw)小比下限(200px),所以返回最小值(200px)
- 当屏宽介于 400px 和 600px 之间时,首选值(50vw)介于最小值(200px)和最大值(300px)之间时,返回首选值(50vw)
- 当屏宽大于 600px 时,首选值(50vw)大比上限(300px),使用最大值(300px)
如果用媒体查询,得用下面数行代码来实现:
width: 50vw;
}
@media ( min-width: 600px ) {
.css-min {
width: 300px;
}
}
@media ( max-width: 400px ) {
.css-min {
width: 200px;
}
}
Recommend
-
4
#yyds干货盘点# 单链表实现栈 原创 wx61dbfa0f42bf6 2022-01-17 11:18:41...
-
7
Windows 下搭建ActiveMQ环境 #yyds干货盘点# 原创 梁云亮 2022-01-17 11:25:27...
-
5
STP故障 1、根桥故障 在稳定的STP拓扑里面,非根桥会定期收到来自根桥的BPDU报文,如果根桥发生了故障,停止发送BPDU报文,下游交换机就无法收到来自根桥的BPDU报文。如果下游交换设备在MaxAge(default=20s)内没有收到BPDU报文,就会导致已经...
-
2
ConcurrentHashMap底层实现#yyds干货盘点# 原创 孙中明 2022-02-15 11:32:37...
-
5
1 轻量级锁的意义偏向锁适用于没有多线程竞争的情况,轻量级锁和重量级锁均用于多线程场景:重量级锁依赖操作系统语义,在无法获取锁时,线程直接进入阻塞状态轻量级锁会自旋一段时间,尝试获取锁,超时后再转为重量级锁。...
-
8
我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷
-
5
在css布局中,指定盒子的width和height,有时会见到calc函数,那么calc是什么,怎么用,今天就为大家分析一下。
-
4
#yyds干货盘点#重新梳理箭头函数的this 原创 尼羲 2022-07-06 09:20:44
-
2
#yyds干货盘点#js中回调函数 精选 原创 简单来说:一个被当做参数的函数,就叫做回调函数。在JavaScript中,所有的函数都...
-
7
#yyds干货盘点#常用less函数 精选 原创 尼羲 2022-12-18 21:26:10...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK