此问题已在此处有答案:
grid-area does not seem to work with the attr function, is this by design?(1个答案)
34分钟前关闭
对于以下HTML:
<div class="parent">
<div class="bdg" data-order="4">1</div>
<div class="bdg" data-order="3">2</div>
<div class="bdg" data-order="2">3</div>
<div class="bdg" data-order="1">4</div>
</div>
我使用attr()
function创建了这个CSS:
.parent { display: flex; }
.bdg { order: attr(data-order number, 5000); }
并且它被浏览器(Chrome)标记:
无效️的属性值
我也尝试过在没有attr()
的第三个 default value 参数的情况下实现这两个功能:
.bdg { order: attr(data-order number); }
如果没有attr()
的第二个 type 和第三个 default value 参数:
.bdg { order: attr(data-order); }
运行示例:
.parent { display: flex; }
.bdg { order: attr(data-order number, 5000); }
<div class="parent">
<div class="bdg" data-order="4">1</div>
<div class="bdg" data-order="3">2</div>
<div class="bdg" data-order="2">3</div>
<div class="bdg" data-order="1">4</div>
</div>
为什么会这样?
3条答案
按热度按时间lmvvr0a81#
1.其他来自simple
attr(data-attribute)
的表单在任何浏览器中都没有实现attr
仅适用于:before
/:after
content
规则,如第一个最上面的 * 注解 * 中所述rqqzpn5f2#
原来
attr()
仍然是实验性的,只适用于content
属性-see here。最后我使用了
var()
。nafvub8i3#
attrs()
默认<type-or-unit>
为字符串,因此您的order
属性无效和任何其他不支持值名称的值(请参阅此处)