Во-первых, она должна быть возможность группировать влево и правые элементы. Затем мы можем создать фальшивую оболочку, заполняющую весь контейнер. Если мы знаем ширину элемента, который будет центрирован, тогда он может быть центрирован с использованием поля.
<div id="infographic">
<div class='leftcol left'>
<div class="icon-one left">1</div>
<p class='left'>me</p>
<div class='clear'></div>
</div>
<div class='rightcol right'>
<p class='right'>customer</p>
<div class="icon-two right">2</div>
<div class='clear'></div>
</div>
<div class='center'>
<div class="arrows">A</div>
</div>
</div>
CSS:
.left {
float: left; }
.right {
float: right;}
.center {
overflow: hidden;
position: absolute;
width: 100%;
}
.arrows {
margin: 0 auto;
display: block;
width: 30px;
}
.clear {
clear: both;
}
#infographic {
position: relative;
}
Если мы не знаем ширину центрированного элемента, посмотрите на вопрос Centering a div block without the width и применить решение там.
Обратите внимание, что представленное решение предполагает, что ширина центра никогда не будет настолько широкой, что она станет шире, чем две колонки слева и справа. Если вы хотите иметь гарантий, что вы должны установить максимальный процент ширины, как это (пример ограничивает каждую колонку на одну треть от общей ширины):
.leftcol .rightcol .arrows {
max-width: 33.3%
}
Whi У ch есть статический с и с какой динамикой? –
Все элементы имеют динамическую ширину. @Andreas Furster – user2381011
Легкий вариант - это место, в котором средний элемент сохраняется в HTML и плавает остальные слева и справа ... но это может вас не устраивать. Это также хороший вариант использования для flexbox ... но тогда у вас не будет поддержки в старых браузерах. –