css-functions-属性函数

概述

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

使用方法可以参考示例:CSS-Functions:属性函数

自定义属性var

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

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

css 复制代码
div {
  width: var(--width, --node-width, 100px);
}
全局定义

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

css 复制代码
:root {
  --width: 100px;
}

div {
  width: var(--width, --node-width, 100px);
}
局部定义

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

html 复制代码
<span style="--width:150px;"></span>

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

属性attr

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

html 复制代码
<style>
  span:before {
    content: attr(data);
  }
</style>
<span data="Hello World"></span>

安全属性 env

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

css 复制代码
p {
  padding: env(safe-area-inset-top) env(safe-area-inset-right) env(
      safe-area-inset-bottom
    ) env(safe-area-inset-left);
}
相关推荐
天蒙蒙亮23 分钟前
打安卓apk包+“应用商城”发布
前端·uni-app
Lank_M34 分钟前
视频压到指定大小总超一截?码率控制的误差拆开看
前端
用户20545557880036 分钟前
飞书运费台账同步到 MySQL:单一策略落地教程
前端
LEE36 分钟前
别把 Agent 架构画成组织架构图——子代理该不该拆,用任务级 Eval 说话
前端·后端·ai编程
梦醒江南37 分钟前
RAG 证据链验收:别只测答案像不像,要证明它从哪里来
前端·agent·ai编程
费曼学习法38 分钟前
无人值守AI内容矩阵实战(8):把标题 A/B 实验做成可判胜的流水线
前端
CodeMi1 小时前
2026 CSS 接管了这些 JS 的活:6 个 Baseline 特性的落地取舍
javascript·css
lemon_yyds1 小时前
vue 实现轮播 - 一张半效果
前端
阿明的小蝴蝶1 小时前
自定义桌面应用、内置系统应用与镜像
前端
代码搬运媛1 小时前
原生websocket 双工demo
前端