Не побить мертвого коня, но я искал решение, попал сюда и сам не был удовлетворен вариантами, не в последнюю очередь по какой-то причине я не смог заставить предоставленные здесь решения работать хорошодля меня.(Вероятно, из-за ошибок с моей стороны ...) Но я играл с flexbox, и вот кое-что, что я заработал для себя.
Некоторые из настроек являются аппаратными, но только для целейдемонстрации.Я думаю, что это решение должно работать практически в любом современном браузере.Просто удалите / настройте фиксированные настройки для класса .flex-parent, настройте цвета / текст / материал и (я надеюсь) вы будете так же счастливы, как и я, с этим подходом.
HTML:
.flex-parent {
display: flex;
width: 300px;
height: 20px;
align-items: center;
}
.flex-child-edge {
flex-grow: 2;
height: 1px;
background-color: #000;
border: 1px #000 solid;
}
.flex-child-text {
flex-basis: auto;
flex-grow: 0;
margin: 0px 5px 0px 5px;
text-align: center;
}
<div class="flex-parent">
<div class="flex-child-edge"></div>
<div class="flex-child-text">I found this simpler!</div>
<div class="flex-child-edge"></div>
</div>
Я также сохранил свое решение здесь: https://jsfiddle.net/Wellspring/wupj1y1a/1/