css如何读取并且使用html中的data-属性?
我想做一个鼠标悬浮的下拉列表,悬浮的容器做一个三角形,三角形的left需要动态的读取容器的大小设置,所以打算通过HTML的data-属性,然后让css读取并且使用这个属性。
现在的问题是,伪元素中content属性可以读取并且使用这个属性,但是left却无法使用这个
属性。
&-content {
position: relative;
&::before {
--left: attr(data-left); // 只能设置content,不能设置left
// --left: 43px; // 使用这个变量可以设置left,
position: absolute;
content: attr(data-left); // 读取并显示值43px
// left: 43px;
left: var(--left); // 如果是通过attr取data-left的值是无效的css属性
// background: #f5f5f5;
background: #f00;
width: 8.5px;
height: 8.5px;
transform-origin: center;
transform: rotate(45deg) translateY(-60%);
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
https://developer.mozilla.org...
https://caniuse.com/css3-attr
https://caniuse.com/css-genco...
mdn上说就是目前attr()只支持content
给你出个馊主意
css:
jq获取自定义属性值:
或者
是要居中吗,居中一般通过下面的 css 设置,效果比较好。