css 中常用函数归纳

189 阅读3分钟
  • var: 使用 CSS 定义的变量
  • calc:计算css值,通常用于计算元素的大小或位置
  • blur: 毛玻璃(高斯模糊)效果
  • gradient: 颜色渐变函数

var函数

CSS 中 可以 自定义属性

  • 属性名需要以**两个减号(--)**开始;
  • 属性值则可以是 任何有效的CSS 值;

定义CSS变量

div {
   --mainColor:red;
}

通过 var 函数 使用CSS 变量

span {
    color:var(--mainColor)
}

自定义CSS 变量的作用域

作用域是指 一个变量可以使用的范围,我们自定义的CSS 变量 是有能够使用的范围的,不是 定义一个变量后,可以在任意的地方使用.

具体规则如下:

规则(自定义CSS变量)定义的选择器,是自定义属性的可见作用域(只在选择器内有效)

所以推荐将自定义属性定义在html 中,也可以使用** :root 选择器**.

:root {
    // 这里定义自定义CSS 变量
}
或者
html {
// 这里定义自定义CSS 变量
}

在这两个地方 定义的CSS变量,变量的作用域 相当于整个 html 文档,也就可以在任意地方使用了.

当然 如果不想将某个变量 覆盖这么大的作用域,可以自行决定 定义CSS 变量的选择器

使用案例

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
  :root {
    --mainColor: red;
  }
  span {
    color: var(--mainColor);
  }
</style>
</head>
<body>
<span>我试试我的颜色</span>
</body>
</html>

calc函数

calc() 函数允许在声明 CSS 属性值时 执行一些计算

  • 计算支持加减乘除的运算

    ‘+’ 和 ‘-’ 运算符的两边 必须要有空白字符.

  • 通常用来设置一些元素的尺寸或者位置

demo

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .box {
        height: 100px;
        width: 100px;
        background-color: aquamarine;
      }
      .container {
        height: calc(100% - 50px);
        background-color: red;
      }
    </style>
  </head>
  <body>
    <div class="box">
      <div class="container"></div>
    </div>
  </body>
</html>

截屏2023-12-21 16.37.23.png

blur

blur() 函数用于将 高斯模糊 应用于 输出图片或者元素

  • blur(radius)
  • radius,模糊的半径,用于定义高斯函数的 偏差值,偏差值越大,图片越模糊

通常会和两个属性一起使用:

  • filter:将模糊或颜色偏移等图形效果应用于元素;
  • backdrop-filter: 为元素后面的区域添加模糊或者其他效果

demo

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      .box {
        height: 167px;
        width: 242px;
        position: relative;
      }
      .img {
        width: 100%;
        height: 100%;
      }
      .cover {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        backdrop-filter: blur(5px);
        background-color: rgba(0, 0, 0, 0.5);
      }
    </style>
  </head>
  <body>
    <div class="box">
      <img src="./imgs/kobe02.png" class="img" alt="" />
      <div class="cover"></div>
    </div>
  </body>
</html>

截屏2023-12-21 16.55.34.png

gradient

gradient概述

< gradient > 是一种< image >CSS数据类型的子类型,用于表现两种或多种颜色的过渡转变.

  • CSS 的 < image > 数据类型描述的是 2D 图形.
  • 比如 background-image,list-style-image,border-image,content 等;
  • < image > 常见的方式 是 通过url来引入一个图片资源.
  • 它也可以通过 CSS 的< gradient > 函数来生成一张图片,来设置颜色渐变

gradient 常见函数

  • < gradient >常见的函数实现有如下几种:
  • linear-gradient() : 创建一个 表示两种或多种颜色线性渐变的图片;
  • radial-gradient():创建了一个图像,该图像是由 从原点出发的两种或者多种颜色之间的逐步过渡组成
  • repeating-linear-gradient():创建一个由重复线性渐变组成的< image >;
  • repeating-radial-gradient():创建一个重复的原点触发渐变组成的 < image >
  • 等等

gradient 的常见使用

linear-gradient: 创建一个表示两种或多种颜色线性渐变的图片:

background-image:linear-gradient(blue,red);
background-image:linear-gradient(to right, blue,red);
background-image:linear-gradient(to right bottom, blue,red);
background-image:linear-gradient(45deg, blue,red);
background-image:linear-gradient(to right, bulue, red 10%, purple, blue 40px,orange);

radial-gradient: 创建了一个图像,该图像由从原点出发的两种或者多种颜色之间的逐步过渡组成;

background-image:radial-gradient(blue,red);

截屏2023-12-21 18.00.08.png

background-image:radial-gradient(at 0% 50%,blue,red);

截屏2023-12-21 18.00.40.png