专业编程基础技术教程

网站首页 > 基础教程 正文

CSS属性值函数(5)round()取整函数

ccvgpt 2024-08-28 13:30:20 基础教程 16 ℃

函数简介

round() CSS函数会根据选定的舍入策略返回一个四舍五入的数字。

你可以将CSS自定义属性(例如,--my-property)用于舍入值、间隔或两者; 如果这些函数具有已知值,则使用round()函数是多余的。

CSS属性值函数(5)round()取整函数

函数语法

// property: round(<rounding-strategy>, valueToRound, roundingInterval)
width: round(var(--width), 50px);
width: round(up, 101px, var(--interval));
width: round(down, var(--height), var(--interval));
margin: round(to-zero, -105px, 10px);

<rounding-strategy>:舍入策略,默认值(nearest)。可用值up、down、nearest(默认值)、to-zero。

valueToRound:被处理的数值。必须是<number><dimension>,或者<percentage>中的一个,或者返回这三种值之一的数学表达式。

roundingInterval:舍入间隔/步进值。必须是<number><dimension>,或者<percentage>中的一个,或者返回这三种值之一的数学表达式。

返回值:被处理的数值通过比较,最接近于(取决于舍入策略)舍入间隔若干倍的数。

用法和最佳实践

  • 若舍入间隔是0,则返回NaN;
  • 若被处理的数值和舍入间隔都是无限值,则返回NaN;
  • 若被处理的数值是无限值,舍入间隔是有限值,则返回无限值;
  • 若被处理的数值是有限值,舍入间隔是无限值,那么返回值取决于舍入策略和数值的正负性;
  • 被处理的数值和舍入间隔需要用相同单位,返回相同单位的值;单位不同会导致函数失效;

示例代码

<!doctype html>
<html>
  <head>
    <title>取整函数round()示例</title>
    <style>
      div.box {
        width: 100px;
        height: 100px;
        background: lightblue;
        padding: 5px;
        --rounding-interval: 25px; // 定义了一个变量,舍入步进值
      }
      div.box-2 {
        height: round(up, 101px, var(--rounding-interval)); // 向上取整
      }
      div.box-3 {
        height: round(down, 122px, var(--rounding-interval)); // 向下取整
      }
      div.box-4 {
        height: round(to-zero, 120px, var(--rounding-interval)); // 向零取整
      }
      div.box-5 {
        height: round(117px, 25px); // 最接近的
      }
    </style>
  </head>
  <body>
    <div class="box box-1">height: 100px</div>
    <div class="box box-2">up 101px (125px)</div>
    <div class="box box-3">down 122px (100px)</div>
    <div class="box box-4">to-zero 120px (100px)</div>
    <div class="box box-5">nearest 117px (125px)</div>
  </body>
</html>

从示例代码不难看出,其实取整函数就是用被处理的数值跟舍入间隔的n倍进行比较,再看是怎么个取整方向,从而得出结果。理解起来并不算太难。

好了,取整函数round()就介绍到这儿了,赶紧动手试试吧!

更多精通CSS的相关精彩文章制作中,敬请期待。欢迎点赞、收藏和转发!

系列文章:

CSS属性值函数(1)概述及语法

CSS属性值函数(2)calc()数值计算

CSS属性值函数(3)clamp()限值函数

CSS属性值函数(4)极值函数min()、max()

Tags:

最近发表
标签列表