news 2026/9/2 14:19:12

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/9/2 9:00:46

RuoYi-Vue3 项目完整指南:从入门到精通部署

RuoYi-Vue3 项目完整指南&#xff1a;从入门到精通部署 【免费下载链接】RuoYi-Vue3 &#x1f389; (RuoYi)官方仓库 基于SpringBoot&#xff0c;Spring Security&#xff0c;JWT&#xff0c;Vue3 & Vite、Element Plus 的前后端分离权限管理系统 项目地址: https://gitc…

作者头像 李华
网站建设 2026/9/2 18:32:01

3个简单步骤,让域名管理变得高效轻松

3个简单步骤&#xff0c;让域名管理变得高效轻松 【免费下载链接】US.KG US.KG Free Domain For Everyone 项目地址: https://gitcode.com/gh_mirrors/us/US.KG 想要摆脱域名管理的烦恼吗&#xff1f;US.KG域名管理工具让您轻松掌握所有域名资产。这款免费工具提供直观的…

作者头像 李华
网站建设 2026/9/2 6:54:48

Open3D终极指南:5分钟掌握相机轨迹平滑优化技巧

Open3D终极指南&#xff1a;5分钟掌握相机轨迹平滑优化技巧 【免费下载链接】Open3D 项目地址: https://gitcode.com/gh_mirrors/open/Open3D Open3D作为强大的开源三维数据处理库&#xff0c;在相机轨迹优化领域提供了完整的解决方案。无论您是从事三维重建、SLAM系统…

作者头像 李华
网站建设 2026/9/2 7:23:58

【限时公开】Open-AutoGLM电影票自动化预订核心技术揭秘

第一章&#xff1a;Open-AutoGLM电影票自动化预订概述Open-AutoGLM 是一个基于大语言模型与自动化控制技术的智能任务执行框架&#xff0c;专为高频、重复性 Web 操作场景设计。在电影票预订这一典型应用场景中&#xff0c;系统能够模拟用户登录、场次选择、座位锁定及订单提交…

作者头像 李华
网站建设 2026/9/2 11:06:26

FaceFusion镜像提供API计费系统:按token消费

FaceFusion镜像提供API计费系统&#xff1a;按token消费 在AI生成内容&#xff08;AIGC&#xff09;爆发式增长的今天&#xff0c;人脸替换技术早已不再是实验室里的炫技工具。从短视频平台的“一键换脸”特效&#xff0c;到影视后期中高精度的角色面部重构&#xff0c;FaceFus…

作者头像 李华
网站建设 2026/9/1 22:02:06

如何快速掌握OpenPCDet多传感器融合技术:从理论到实战完整指南

如何快速掌握OpenPCDet多传感器融合技术&#xff1a;从理论到实战完整指南 【免费下载链接】OpenPCDet 项目地址: https://gitcode.com/gh_mirrors/ope/OpenPCDet 你是否曾经困惑于如何让激光雷达的精确测距与摄像头的丰富语义信息完美协同工作&#xff1f;在自动驾驶的…

作者头像 李华