Ответ 1
Bootstrap 4 (протестирован с 4.0.0-beta.2 - нет причин полагать, что это изменится):
Bootstrap 4 использует flex для позиционирования индикатора выполнения. Мы перемещаем элемент span
в элемент .progress
, чтобы обойти это.
Благодаря Michael_B для простого решения. (Пожалуйста, внесите изменения, если вы знаете, как заставить его работать, не перемещая элемент span)
HTML:
<div class="progress">
<div class="progress-bar" role="progressbar" style="width: 60%;" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
<span>60% complete</span>
</div>
CSS:
/**
* Progress bars with centered text
*/
.progress span {
position: absolute;
display: flex;
width: 100%;
justify-content: center;
align-items: center;
}
JsBin файл: http://jsbin.com/wazisep/1/edit
Загрузочный файл 3:
Boostrap теперь поддерживает текст внутри элемента span на панели Progress. HTML, как показано в примере Bootstrap. (Обратите внимание, что класс sr-only
удален)
HTML:
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="width: 60%;">
<span>60% Complete</span>
</div>
</div>
... Однако он только центрирует текст по самой панели, поэтому нам нужно немного пользовательского CSS.
Вставьте это в другую таблицу стилей/ниже, где вы загружаете bootstrap css:
CSS
/**
* Progress bars with centered text
*/
.progress {
position: relative;
}
.progress span {
position: absolute;
display: block;
width: 100%;
color: black;
}
Файл JsBin: http://jsbin.com/IBOwEPog/1/edit
Bootstrap 2:
Вставьте это в другую таблицу стилей/ниже, где вы загружаете bootstrap css:
/**
* Progress bars with centered text
*/
.progress {
position: relative;
}
.progress .bar {
z-index: 1;
position: absolute;
}
.progress span {
position: absolute;
top: 0;
z-index: 2;
color: black; // You might need to change it
text-align: center;
width: 100%;
}
Затем добавьте текст в индикатор выполнения, добавив элемент span
вне .bar:
<div class="progress">
<div class="bar" style="width: 50%"></div>
<span>Add your text here</span>
</div>