news 2026/6/22 23:00:57

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/6/23 9:31:02

Lottie-Android文本动画终极指南:从静态文字到动态交互体验

Lottie-Android文本动画终极指南&#xff1a;从静态文字到动态交互体验 【免费下载链接】lottie-android Render After Effects animations natively on Android and iOS, Web, and React Native 项目地址: https://gitcode.com/gh_mirrors/lo/lottie-android 你是否曾为…

作者头像 李华
网站建设 2026/6/22 21:25:15

信息系统项目管理师报考指南(长图版)

信息系统项目管理师报考指南&#xff1a;从证书介绍、考试介绍、考试科目&#xff0c;报考费用、时间等等。信息系统项目管理师从小白到达人长图科普知识。

作者头像 李华
网站建设 2026/6/21 18:02:25

FaceFusion与DaVinci Resolve的整合方案构想

FaceFusion与DaVinci Resolve的整合方案构想在影视制作和数字内容创作领域&#xff0c;AI驱动的人脸处理技术正以前所未有的速度改变着工作流。从虚拟主播到影视剧补拍&#xff0c;从隐私保护到跨语言本地化&#xff0c;创作者对高质量、高效率的“智能换脸”需求日益迫切。然而…

作者头像 李华
网站建设 2026/6/23 14:19:07

FaceFusion如何应对对抗样本攻击?安全机制解析

FaceFusion如何应对对抗样本攻击&#xff1f;安全机制解析在短视频、虚拟偶像和社交娱乐应用中&#xff0c;人脸融合技术正变得无处不在。用户只需上传一张自拍照&#xff0c;系统就能将其“无缝”移植到明星脸、卡通形象甚至历史人物身上&#xff0c;带来极具沉浸感的视觉体验…

作者头像 李华
网站建设 2026/6/23 1:01:37

GB Studio资源导入全流程解析:从新手到高手的格式选择指南 [特殊字符]

想要在GB Studio中快速上手游戏开发&#xff1f;掌握资源格式的正确选择是你成功的第一步&#xff01;作为一款专为Game Boy系统设计的拖放式游戏创作工具&#xff0c;GB Studio的资源导入流程直接影响着你的开发效率和游戏最终效果。本文将带你从文件准备到最终导入&#xff0…

作者头像 李华
网站建设 2026/6/23 7:00:10

一键部署FaceFusion镜像,快速实现专业级人脸交换

一键部署FaceFusion镜像&#xff0c;快速实现专业级人脸交换在短视频、虚拟形象和数字人内容爆发的今天&#xff0c;如何高效、自然地完成高质量人脸替换&#xff0c;已成为创作者与开发者共同关注的技术焦点。传统换脸方案往往依赖复杂的环境配置、昂贵的算力资源以及漫长的调…

作者头像 李华