Я знаю, что следующее не работает в настоящее время, поскольку браузеры еще не поддерживают его, но, возможно, когда-нибудь это поможет:
Во время этого сообщения attr()
по другим свойствам, чем content
является только Рекомендацией кандидата 1. Как только он будет реализован, можно создать индикатор выполнения только с одним элементом (например, с HTML 5 , но с лучшими параметрами стиля и текстом внутри)
и чистым 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
, не слишком сложно это продлить (но, конечно, я действительно не знаю, если честно). Второе: вышеприведенное является лишь одним хорошим примером, показывающим, насколько мощным может быть эта функциональность. Надеюсь, они начнут поддерживать его в ближайшее время, или он даже не будет частью окончательной спецификации.