Я знаю, что следующее в настоящее время не работает , потому что браузеры еще не поддерживают его, но, возможно, когда-нибудь это поможет:
На момент публикации этого сообщения attr()
вдругие свойства, кроме content
- это просто рекомендация кандидата 1 .Как только он будет реализован, можно создать индикатор выполнения только с одним элементом (например, HTML 5 <progress/>
, но с улучшенными параметрами стилей и текстом внутри)
<div class="bar" data-value="60"></div>
и чистым CSS
.bar {
position: relative;
width: 250px;
height: 50px;
text-align: center;
line-height: 50px;
background: #003458;
color: white;
}
.bar:before {
position: absolute;
display: block;
top: 0;
left: 0;
bottom: 0;
width: attr(data-value %, 0); /* currently not supported */
content: '';
background: rgba(255, 255, 255, 0.3);
}
.bar:after {
content: attr(data-value) "%";
}
Вот текущее не работает демо .
1 Не могу представить, почему это не реализованов любом браузере.Сначала я подумаю, что если у вас уже есть функциональность для content
, это не должно быть слишком сложно для расширения (но, конечно, я не знаю, честно говоря).Второе. Выше приведен лишь один хороший пример, показывающий, насколько мощной может быть эта функциональность.Надеюсь, они скоро начнут его поддерживать, или это даже не будет частью окончательной спецификации.