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);
}
相关推荐
人民广场吃泡面15 分钟前
前端该重视的编程思想
前端
冬夜戏雪19 分钟前
agent的trace 和eval
开发语言·前端·javascript
IT_陈寒20 分钟前
Redis的DEL命令居然没删干净数据?这个坑我爬了半天
前端·人工智能·后端
kyriewen22 分钟前
面试官让我现场用 AI 改一个真实 bug——他打断我的 3 个理由
前端·面试·ai编程
计算机魔术师1 小时前
斯坦福研究:AI 对入门级岗位冲击最大
前端
Simon_He2 小时前
一个渲染内核,五个框架包:我的流式 Markdown 渲染库是怎么长成“全家桶”的
前端·vue.js·markdown
小满zs2 小时前
关于HBuilderX+ 微信小程序开发工具启动的问题
前端·uni-app
林深见鹿_海蓝见鲸2 小时前
微信小程序反编译完整教程(Windows 新手版)
前端
默_笙3 小时前
😋 我让爬虫终于看到了我的网站,后端同事说"这也行?"(上):SEO 与渲染模式
前端·javascript
feixing_fx3 小时前
告别枯燥字体:Web 字体加载策略与 font-display 最佳实践
前端·css·前端框架·交互·css3