Jinuss's blog Jinuss's blog
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript高级程序设计》
    • 《Vue》
    • 《React》
    • 《Git》
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • 学习
  • 实用技巧
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

东流

前端可视化
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript高级程序设计》
    • 《Vue》
    • 《React》
    • 《Git》
    • JS设计模式总结
  • HTML
  • CSS
  • 技术文档
  • GitHub技巧
  • 学习
  • 实用技巧
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • HTML

  • CSS

    • CSS教程和技巧收藏
    • flex布局语法
    • flex布局案例-基础
    • flex布局案例-骰子
    • flex布局案例-圣杯布局
    • flex布局案例-网格布局
    • flex布局案例-输入框布局
    • CSS3之transition过渡
    • CSS3之animation动画
    • CSS自定义设置滚动条样式
    • 「布局技巧」图片未加载前自动撑开元素高度
    • 文字在一行或多行时超出显示省略号
    • 从box-sizing属性入手,了解盒子模型
    • 水平垂直居中的几种方式-案例
    • 如何根据系统主题自动响应CSS深色模式
    • CSS-function汇总
    • 网格布局中的动画
    • CSS属性background-position-y实现动画
    • CSS实现github右上角图标
    • CSS3实现购物车动画效果
    • css-functions-属性函数
      • css-functions-图形函数
      • CSS3换装达人原理
      • iconfont图标字体库介绍
      • css关键字currentColor
      • css伪类选择器系列一
      • css伪类选择器系列二
      • 动态修改iconfont图标配色
      • 使用CSS3实现loading效果
      • CSS滚动驱动动画
      • CSS实现图片3D立体效果
      • iconfont中svg图片颜色动态修改第二弹
    • 浏览器

    • 页面
    • CSS
    东流
    2024-08-29
    目录

    css-functions-属性函数

    # 概述

    本文主要介绍CSS Functions中和属性有关的函数var、attr和env

    使用方法可以参考示例:CSS-Functions:属性函数 (opens new window)

    # 自定义属性var

    var()函数可以插入一个自定义属性CSS 变量的值,用来代替非自定义属性中值的任何部分。

    自定义属性名必须是以--开头的任何有效标识符,var()函数可以接受多个参数,第二个参数及其后面的参数都可以作为回退值,即前面的参数无效,会依次使用后面的值,另外var()函数可以嵌套,如下示例

    div {
      width: var(--width, --node-width, 100px);
    }
    
    1
    2
    3

    # 全局定义

    var()函数可以使用在:root中定义的全局属性

    :root {
      --width: 100px;
    }
    
    div {
      width: var(--width, --node-width, 100px);
    }
    
    1
    2
    3
    4
    5
    6
    7

    # 局部定义

    var()函数为Javascript操作 CSS 样式提供了极为方便的方式,可以动态修改 CSS 变量应用到元素的样式上去,局部属性名的作用大于全局定义属性名的作用。我们可以将行内样式理解成局部属性定义,如下:

    <span style="--width:150px;"></span>
    
    1

    以上的属性--width会覆盖:root中定义的--width,这个时候 div 元素的--width取值还是:root中的100px

    # 属性attr

    目前attr函数仅能运用在伪类元素上,它会获取元素上的自定义属性值,如下

    <style>
      span:before {
        content: attr(data);
      }
    </style>
    <span data="Hello World"></span>
    
    1
    2
    3
    4
    5
    6

    # 安全属性 env

    env的应用没有前两个广,主要用于获取用户代理定义的环境变量,而不是用户自定义的,比如这几个环境变量

    p {
      padding: env(safe-area-inset-top) env(safe-area-inset-right) env(
          safe-area-inset-bottom
        ) env(safe-area-inset-left);
    }
    
    1
    2
    3
    4
    5
    编辑 (opens new window)
    上次更新: 2024/12/03, 14:43:37
    CSS3实现购物车动画效果
    css-functions-图形函数

    ← CSS3实现购物车动画效果 css-functions-图形函数→

    最近更新
    01
    GeoJSON
    05-08
    02
    Circle
    04-15
    03
    CircleMarker
    04-15
    更多文章>
    Theme by Vdoing | Copyright © 2024-2025 东流 | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式