当前位置: 首页 > news >正文

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连着写,传入那就真的都认为是字符串,转化失败。

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

http://www.cnnetsun.cn/news/149839.html

相关文章:

  • Lottie-Android文本动画终极指南:从静态文字到动态交互体验
  • 信息系统项目管理师报考指南(长图版)
  • FaceFusion与DaVinci Resolve的整合方案构想
  • FaceFusion如何应对对抗样本攻击?安全机制解析
  • GB Studio资源导入全流程解析:从新手到高手的格式选择指南 [特殊字符]
  • 一键部署FaceFusion镜像,快速实现专业级人脸交换
  • FaceFusion镜像企业定制版服务正式启动
  • LSPlant框架深度解析:构建Android系统级HOOK引擎的完整指南
  • Windows 11离线环境.NET Framework 3.5完整安装指南
  • 错过后悔一年!双十一必买的Open-AutoGLM智能推荐清单(限量版曝光)
  • Unity大分辨率视频播放终极指南:AVPRO插件完整配置方案
  • 如何用5分钟构建Unity游戏状态机:终极开发指南
  • 《国产数据库技术》学习心得:DM数据库实操全解析
  • 25、Windows XP 成像与视频处理全攻略
  • 26、释放你的电影制作潜能:Windows视频创作全攻略
  • 超实用指南:3步搭建Vector日志管道,告别配置烦恼 [特殊字符]
  • MusicGen技术解码:AI音乐生成的边界探索与未来路径
  • 35、小型工作组网络搭建与扩展指南
  • 【电影票抢购终极方案】:基于Open-AutoGLM的智能选座技术全曝光
  • Open-AutoGLM时间戳对齐陷阱(你不可不知的5个同步误区)
  • 解决Linux yum仓库错误:failure: repodata/repomd.xml的终极指南
  • Open-AutoGLM深度应用:7大场景破解传统文档管理难题
  • 终极指南:5步实现本地AI大模型高效部署
  • 南阳手持式凿岩机特价批发优惠高达30%
  • 15分钟打造zlibirary镜像书籍推荐系统原型
  • FaceFusion镜像集成FFmpeg实现高效视频编码
  • 5大核心模块拆解,看Open-AutoGLM如何重构智能烹饪生态链
  • JeecgBoot工作流引擎实战:5分钟实现业务流程自动化
  • 图解邻接表:零基础学图存储结构
  • FaceFusion人脸替换在远程会议中的创新应用设想