news 2026/5/11 11:19:42

css样式attr()获取元素属性值测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
css样式attr()获取元素属性值测试

有时候,不想把样式设置太死,想灵活变化,可能会想到动态传值,这时候我们可以使用css的attr()方法,如下所示,根据传入的几个data-width我们分别设置像素px,百分比%,以及默认的百分比,和data-content作为内容填充。

代码如下:

<!doctype html> <html> <head> <style> .root{ background: #ddd; border-radius: attr(data-width px); height: attr(data-width px); width: attr(data-width px); display: flex; justify-content: center; align-items: center; } .rect{ background: #c2ff77; width: attr(data-width %); --h : 50px; height: var(--h); } .default{ background: #0088ff; width: attr(data-width); } .content{ background: #ddd; } .content:before{ content: attr(data-content); display: block; color: red; } </style> </head> <body> <div class="root">

可以看到,通过第一个attr(data-width px)的方式,设置像素,的确生效了。如果不生效,默认宽度是满屏100%

查看元素样式, 我们注意观察attr()方法,默认data-width是一个带引号""的"300",当attr()方法使用过后,变为了300px

生效的属性值是没有引号的。

第二个效果是通过attr(data-width %)的方式,设置宽度百分比,同样生效了。

查看元素样式, 我们注意观察attr()方法,默认data-width是一个带引号""的"30",当attr()方法使用过后,变为了30%

同样的,生效的属性值30%是没有引号的。

第三个效果,本来是想着,attr()拿来就直接用,不用再转化。结果没有生效。

查看元素样式,attr()方法前后,拿到的值都是"50%",是带引号的。

没有生效的属性值,是带引号的。

我们再看看第四个作为伪类content填充的例子:

因为是填充,所以这里是字符串最合适不过了。

个人的理解,attr获取属性,默认传入数值类型,可能只认整型数字,不认百分比。可能"%"这个符号导致转化失败,只能认为它是字符串。如果是像素px反而还认识。

这里传入"300 px""30 px"通过attr()转化都成功了,但是"50 %"依旧转化失败。

另外,如果把px连着写,传入那就真的都认为是字符串,转化失败。

其他情况下的使用,默认都是没有问题的,因为属性值,除了数字类型,其他颜色值,定位,显示本身就是字符串。不涉及单位转换。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 13:11:15

跨平台SSH客户端终极指南:Termius 7.13.0 Windows免登录版完全手册

跨平台SSH客户端终极指南&#xff1a;Termius 7.13.0 Windows免登录版完全手册 【免费下载链接】Termius7.13.0Windows免登录版下载介绍 Termius 7.13.0 是一款强大的跨平台SSH和SFTP工具&#xff0c;专为Windows用户提供免登录版本&#xff0c;方便直接使用。它支持全平台操作…

作者头像 李华
网站建设 2026/5/10 15:05:36

对比传统设计:CherryStudio官网AI工具节省80%时间

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 构建一个设计效率对比计算器web应用&#xff0c;允许用户输入项目参数(页面数量、设计复杂度等)&#xff0c;自动计算并可视化对比传统设计流程与使用CherryStudio官网AI工具的时间…

作者头像 李华
网站建设 2026/5/9 11:02:45

Linux Crontab极简教程:5分钟学会定时任务

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个面向初学者的crontab学习工具&#xff0c;功能包括&#xff1a;1. 交互式crontab语法解释器&#xff08;鼠标悬停查看每个字段含义&#xff09;&#xff1b;2. 可视化时间选…

作者头像 李华
网站建设 2026/5/9 18:16:44

实验5 体验大语言模型

实验5 体验大语言模型目的和要求&#xff08;1&#xff09;了解大语言模型的工作原理。&#xff08;2&#xff09;了解海内外主流大语言模型的基本情况。&#xff08;3&#xff09;练习体验海内外主流大语言模型。实验准备&#xff08;1&#xff09;了解大语言模型指使用大量文…

作者头像 李华
网站建设 2026/5/10 6:56:29

FaceFusion在元宇宙场景中的应用前景展望

FaceFusion在元宇宙场景中的应用前景展望技术背景与核心价值当我们在VR会议中看到同事的虚拟形象微微一笑&#xff0c;眼角泛起细纹&#xff0c;眼神流露关切——那一刻&#xff0c;我们不再觉得对面是个“模型”&#xff0c;而是一个真实存在的人。这种沉浸感的背后&#xff0…

作者头像 李华
网站建设 2026/5/10 14:47:33

反向海淘:从“中国制造”到“全球抢购”的新潮流

曾经&#xff0c;中国消费者热衷于“海淘”海外商品&#xff0c;追逐国际大牌的品质与稀缺性。如今&#xff0c;风向逆转——越来越多的外国人开始“反向海淘”&#xff0c;涌入淘宝、拼多多、京东等中国电商平台&#xff0c;抢购“中国货”。这一现象在2025年愈发火热&#xf…

作者头像 李华