css-functions-属性函数

概述

本文主要介绍CSS Functions中和属性有关的函数varattrenv

使用方法可以参考示例: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);
}
相关推荐
一 乐14 分钟前
车辆管理|校园车辆信息|基于SprinBoot+vue的校园车辆管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·车辆管理
百锦再27 分钟前
Python、Java与Go:AI大模型时代的语言抉择
java·前端·vue.js·人工智能·python·go·1024程序员节
IT_陈寒29 分钟前
Vite 3.0终极提速指南:5个鲜为人知的配置技巧让构建效率翻倍
前端·人工智能·后端
菩提树下的凡夫40 分钟前
前端vue的开发流程
前端·javascript·vue.js
青山的青衫44 分钟前
【用homebrew配置nginx+配置前端项目与后端联调】Macbook M1(附一些homebrew操作)
运维·前端·nginx
二十雨辰1 小时前
[作品集]-容易宝
java·开发语言·前端
恋猫de小郭1 小时前
iOS 26 开始强制 UIScene ,你的 Flutter 插件准备好迁移支持了吗?
android·前端·flutter
Asort1 小时前
JavaScript设计模式(二十一)——策略模式:灵活算法的艺术与实战
前端·javascript·设计模式
黑云压城After1 小时前
3D魔方-Css实现方法
前端·css·3d
極光未晚2 小时前
乾坤微前端项目:前端处理后台分批次返回的 Markdown 流式数据
前端·vue.js·面试