У меня есть div с некоторым количеством пролетов, которые могут быть или не быть одинаковой ширины. Я знаю, что могу использовать text-align: center
, чтобы центрировать весь контент внутри div. Однако я хочу выбрать конкретный отрезок и обозначить его как истинный центр, а не центр, являющийся средней точкой последовательности пролетов.
У меня была одна идея для имитации этого эффекта: у меня был бы желаемый средний элемент с двумя контейнерами слева и справа; левый будет выравниваться по правому краю, и наоборот. Эти контейнеры будут содержать другой контент в div. Если бы я мог заставить эти два контейнера заполнить оставшееся пространство в равных количествах, это привело бы к центрированию среднего элемента, сохраняя при этом левое и правое содержимое выровненными по центру. По сути, для этого потребуется, чтобы ширина двух контейнеров была установлена ровно на половину оставшегося пространства в div. (Я не хочу менять размер среднего div.) Возможно ли это сделать только с помощью CSS?
Пример: с 4 пролетами, как назначить пролет 2 истинным центром?
div {
width: 500px;
padding: 4px;
border: 1px dotted black;
}
span {
display: inline-block;
width: 100px;
text-align: center;
margin: 4px;
box-sizing: border-box;
border: 1px dotted black;
}
#b {
/* ??? */
}
<div>
<span id="a">1</span>
<span id="b">2</span>
<span id="c">3</span>
<span id="d">4</span>
</div>