css3 – 使用CSS attr()设置宽度

前端之家收集整理的这篇文章主要介绍了css3 – 使用CSS attr()设置宽度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_404_1@我试图在CSS中使用attr()设置元素的宽度,但它不起作用。 Chrome说“无效的资产价值”,但我不知道是怎么回事。

我试图使用属性“prog”作为.progress div的百分比宽度。

Here’s my example on codepen.

<div class="progresscontainer">
    <div class="progress" prog="10">
    </div>
</div>

.progresscontainer {
    position:absolute;
    background-color:black;
    width:500px;
    height:100px;
    border-radius:5px;
    border:1px solid black;
    overflow:hidden;
}
.progress {
    background-color: green;
    background: -webkit-linear-gradient(top,transparent -100%,rgba(255,255,0.5) 50%,transparent 200%),-webkit-linear-gradient(top,lime 0%,lightgreen 50%,green 50%,darkgreen 100%);
    background: -moz-linear-gradient(top,-moz-linear-gradient(top,darkgreen 100%);
    background: -ms-linear-gradient(top,-ms-linear-gradient(top,darkgreen 100%);
    background: linear-gradient(top,linear-gradient(top,darkgreen 100%);
    position:absolute;
    height:100%;
    width: attr(prog %);
}

解决方法

这是CSS的一个实验性的,或至少是草案的功能,目前,根据Mozilla开发人员网络的文档,它只兼容CSS内容属性(可以在其中返回一个放置在伪元素内的字符串)但不能(还)用于生成其他属性的值。

参考文献:

> attr() (at MDN)
> attr() (at W3C)

猜你在找的CSS相关文章