常用的css函数有哪些,你都用过吗?

简介: css 的函数有哪些?他们都有什么作用?你认得哪些?你用过哪些?今天我就带你们一起来了解一下 css 的函数吧!

css的函数有哪些?他们都有什么作用?你认得哪些?你用过哪些?今天我就带你们一起来了解一下css的函数吧!

1. calc()

calc()函数是css中最常用的函数之一,它可以用来计算css属性值中的数学表达式,比如:

div {
   
    width: calc(100% - 20px);
}

上面的代码中,div的宽度为100%减去20px的值,通常情况下我们在布局时,在部分元素宽度或高度不确定,或者需要根据屏幕宽度自适应时,我们会使用calc()函数来计算元素的宽度或高度。

calc()可以使用的运算符有:

  • +
  • -
  • *
  • /
  • % 取余
  • () 括号

calc()函数还可以使用css变量,比如:

:root {
   
    --width: 100px;
}

div {
   
    width: calc(var(--width) * 2);
}

calc()函数还可以使用calc()函数,比如:

div {
   
    width: calc(calc(100% - 20px) / 2);
}

2. min()max()

min()函数可以用来计算多个值中的最小值,比如:

div {
   
    width: min(100px, 50%);
}

max()函数可以用来计算多个值中的最大值,比如:

div {
   
    width: max(100px, 50%);
}

通常情况下,我们会使用min()max()函数来限制元素的最大或最小宽度、高度,比如:

div {
   
    width: max(100px, 50%);
    max-width: 200px;

    height: min(100px, 50%);
    max-height: 200px;
}

上面的代码中,div的宽度和高度都限制在200px以内,但是div的宽度和高度不能小于100px

3. clamp()

clamp()函数可以用来限制一个值的范围,比如:

div {
   
    width: clamp(100px, 50%, 200px);
}

上面的代码中,div的宽度限制在100px200px之间,但是div的宽度不能小于50%

这个函数的参数有三个,第一个参数是最小值,第二个参数是默认值,第三个参数是最大值。

4. attr()

attr()函数可以用来获取元素的属性值,比如:

<div data-width="100px"></div>
div {
   
    width: attr(data-width);
}

上面的代码中,div的宽度为100px

注意: attr() 理论上能用于所有的 CSS 属性但目前支持的仅有伪元素的 content 属性,其他的属性和高级特性目前是实验性的,也就是我上面的代码是不起作用的。

attr()的作用案例可以参考我之前写的文章:css的属性选择器的妙用,来用它实现一个轻量的tips组件吧

5. var()

var()函数可以用来获取css变量的值,比如:

:root {
   
    --width: 100px;
}

div {
   
    width: var(--width);
}

上面的代码中,div的宽度为100px

var()函数还可以设置默认值,比如:

:root {
   
    --width: 100px;
}

div {
   
    width: var(--height, 200px);
}

上面的代码中,div的宽度为200px

6. env()

env()函数可以用来获取环境变量的值,比如:

div {
   
    width: env(safe-area-inset-left);
}

它的用法和var()函数类似,但是它的值是由浏览器提供的,而不是由开发者提供的。

目前,env()函数只支持safe-area-inset-leftsafe-area-inset-rightsafe-area-inset-topsafe-area-inset-bottom这四个环境变量。

safe-area-inset-leftsafe-area-inset-rightsafe-area-inset-topsafe-area-inset-bottom这四个环境变量分别表示安全区域的左、右、上和下的内边距。

7. url()

url()函数可以用来获取图片的地址,比如:

div {
   
    background-image: url(./img.png);
}

这个函数用于获取资源地址,比如图片、字体等。

目前支持的属性有:

  • background-image
  • cursor
  • list-style-image
  • border-image-source
  • mask-image
  • ...任意可以使用图片的属性
  • content
  • @font-face
  • ...很多,目前常用的大概就这些

8. image-set()

image-set()函数可以用来设置图片的srcset,比如:

div {
   
    background-image: image-set(url(./img.png) 1x, url(./assets/img.png) 2x);
}

这里的1x2x是指图片的分辨率,1x表示1倍2x表示2倍

通常用于跨设备的适配,比如retina屏幕。

结束

本文主要介绍了css中的函数,包括calc()min()max()attr()var()env()url()image-set()这八个函数。

css中还有很多函数,但是没有上面这些函数常用,感兴趣可以作为拓展自行学习。

参考

目录
相关文章
|
1月前
|
前端开发 JavaScript
如何在 CSS 变量中使用函数?
【10月更文挑战第28天】虽然CSS变量本身不能像传统编程语言中的函数那样直接进行复杂的运算和逻辑处理,但通过CSS预处理器、`calc()` 函数以及与JavaScript的结合,可以在很大程度上实现类似函数的功能,提高CSS样式的灵活性和可维护性,满足各种不同的页面设计和交互需求。
|
2月前
|
安全 前端开发 开发者
CSS3 中 calc()、constant() 和 env() 函数的使用指南
在现代网页设计中,CSS3 的 calc()、constant() 和 env() 函数为开发者提供了强大的工具,帮助实现灵活和响应式的布局。本文将深入探讨这三个函数的定义、用法以及最佳实践,特别是如何利用 calc() 进行动态计算、constant() 的历史背景,以及 env() 在处理设备安全区域中的应用。通过本文,读者将能够更好地理解并运用这些函数,提升网页设计的灵活性与用户体验。
78 0
|
5月前
|
前端开发
css【详解】cubic-bezier()函数
css【详解】cubic-bezier()函数
111 2
|
5月前
|
前端开发
css【详解】steps()函数
css【详解】steps()函数
36 1
|
6月前
|
前端开发 文件存储 Python
【已解决】Flask当中render_template函数使用过程当中css文件无法正常渲染
【已解决】Flask当中render_template函数使用过程当中css文件无法正常渲染
|
7月前
|
移动开发 JavaScript 前端开发
原生JavaScript+CSS实现计算器(简单的介绍一下eval函数)
原生JavaScript+CSS实现计算器(简单的介绍一下eval函数)
69 0
|
前端开发 JavaScript
html中href和src的区别?CSS 中哪些属性可继承,哪些不可以?创建函数的几种方式?
href:href 是 Hypertext Reference 的缩写,表示超文本引用。用来建立当前元素和文档之间的链接。常用的有:link、a。
|
前端开发 数据可视化
漏刻有时数据可视化Echarts组件开发(1):报警状态组件CSS代码及封装函数
漏刻有时数据可视化Echarts组件开发(1):报警状态组件CSS代码及封装函数
74 0
|
JSON 前端开发 JavaScript
CSS样式表在javascript函数中的写法
CSS样式表在javascript函数中的写法
69 0
|
前端开发 安全 测试技术
深入了解 CSS 中的 :where() 和 :is() 函数
深入了解 CSS 中的 :where() 和 :is() 函数
深入了解 CSS 中的 :where() 和 :is() 函数