CSS技巧:这些css属性让你写样式更加丝滑

calc()

calc()函数用于动态计算长度值,任何长度值都可以使用calc()函数进行计算,需要注意的是,运算符前后都需要保留一个空格,例如:

.box{
  width: calc(100% - 10px)
  height: calc(100% - 2rem)
}

兼容性

calc()兼容性

min()

min()函数允许你从逗号分隔符表达式中选择一个最小值作为css的属性值,例如:

.box{
  width: min(1vw, 4em, 80px)
}

在上面的例子中,宽度最多是80px。如果视口的宽度小于800px,或者一个em的宽度小于20px,则会更窄。换句话说,最大宽度是80px。

min()用于控制文本大小时,要保证文本足够大以便于阅读。建议把 min() 方法嵌入到 max()

p{
  font-size: max(min(0.5vw, 0.5em), 1rem)
}

这用于保证最小值是1rem,这样在页面缩放时文本也会缩放。

兼容性

min()兼容性

max()

max()函数让你可以从一个逗号分隔的表达式列表中选择最大(正方向)的值作为属性的值

.box{
  width: max(10vw, 4em, 80px)
}

在上面这个例子中,宽度最小会是80px,除非视图宽度大于800px或者是一个em比20px宽。简单来说,最小宽度是80px。你也可以认为max()的值提供了一个属性最小可能的值。

当max()用于控制文本大小时,确保文本总是足够大以供阅读。一个建议是使用min()嵌套在max()中的函数,该函数的第二个值是一个相对长度单位,该单位总是足够大以读取

p{
  font-size: max(min(0.5vw, 0.5em), 1rem)
}

这确保了1rem的最小大小,如果页面缩放,文本大小会缩放。

兼容性

max()兼容性

clamp()

clamp()函数的作用是把一个值限制在一个上限和下限之间,当这个值超过最小值和最大值的范围时,在最小值和最大值之间选择一个值使用。它接收三个参数:最小值、首选值、最大值clamp(MIN,VAL,MAX),当首选值比最小值要小时,则使用最小值,当首选值介于最小值和最大值之间时,用首选值,当首选值比最大值要大时,则使用最大值,表达式中的每一个值都可以用不同的单位。

.box{
  width: clamp(200px, 50vw, 600px)
}

兼容性

clamp()兼容性

gap

gap()属性是用来设置网格行与列之间的间隙,该属性是row-gapcolumn-gap的简写形式,适用于Flex,Grid和multi-column布局的元素。

#flex {
  width: 300px;
  display: flex;
  gap: 20px 5px;
}
#grid {
  height: 200px;
  display: grid;
  grid-template: repeat(3, 1fr) / repeat(3, 1fr);
  gap: 20px 5px;
}

兼容性

gap()属性在Flex布局的兼容性

gap()属性在Grid布局的兼容性

writing-mode

writing-mode 属性定义了文本在水平或垂直方向上如何排布。 语法格式如下:

writing-mode: horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr

horizontal-tb:水平方向自上而下的书写方式。即 left-right-top-bottom

vertical-rl:垂直方向自右而左的书写方式。即 top-bottom-right-left

vertical-lr:垂直方向内内容从上到下,水平方向从左到右

sideways-rl:内容垂直方向从上到下排列

sideways-lr:内容垂直方向从下到上排列

兼容性

writing-mode兼容性

1. 本站所有免费资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的免费资源的准确性、安全性和完整性,免费资源仅供下载学习之用!如有链接无法下载、失效,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或技术教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
5. 加入前端开发QQ群:565733884,我们大家一起来交流技术!
码云笔记 » CSS技巧:这些css属性让你写样式更加丝滑

发表评论

前端开发相关广告投放 更专业 更精准

立即查看 联系我们