Центрируйте несколько встроенных блоков с помощью CSS и выровняйте последний ряд по левому краю

Я хочу горизонтально центрировать несколько встроенных блоков, но в то же время выровнять их по левому краю в последнем ряду (см. Ниже).

Проблема в том, что я достиг чего-то вроде этого ( http://jsfiddle.net/5JSAG/):

|        _____   _____        |
|       |     | |     |       |
|       |  1  | |  2  |       |
|       |_____| |_____|       |
|            _____            |
|           |     |           |
|           |  3  |           |
|           |_____|           |

Пока я хочу что-то вроде этого:

|        _____   _____        |
|       |     | |     |       |
|       |  1  | |  2  |       |
|       |_____| |_____|       |
|        _____                |
|       |     |               |
|       |  3  |               |
|       |_____|               |

Вы можете посмотреть пример HTML на http://jsfiddle.net/5JSAG/.

Я пытался использовать column-count а также column-width но это не работает так, как я хочу, потому что порядок блоков меняется:

|        _____   _____        |
|       |     | |     |       |
|       |  1  | |  3  |       |
|       |_____| |_____|       |
|        _____                |
|       |     |               |
|       |  2  |               |
|       |_____|               |

2 ответа

Решение

Нашел довольно простое решение этой проблемы: просто добавьте несколько заполнителей в конце, которые имеют одинаковую ширину с выровненными блоками.

http://jsfiddle.net/5JSAG/34/

HTML:

<div style="text-align:center">
    <div class="entry">1</div>
    <div class="entry">2</div>
    <div class="entry">3</div>
    <div class="entry">4</div>
    <div class="entry">5</div>
    <span class="fill"></span>
    <span class="fill"></span>
    <span class="fill"></span>
    <span class="fill"></span>
</div

CSS:

.fill
{
    display:inline-block;
    width:100px;
    height:0px;
    line-height:0px;
    font-size:0px;
}

.entry 
{ 
    display:inline-block;
    margin-top:10px;
    width:100px;
    height:60px;
    padding-top:40px;
    border:1px solid red;
}

Плавающий их кажется лучшим вариантом здесь. Вы можете поместить левое / правое поле на контейнер, если вам нужно пространство слева и справа, или вы можете задать для контейнера ширину и автоматическое левое и правое поле.

Похоже, это может стоить выделить это как неупорядоченный список тоже.

Вот пример:

http://codepen.io/anon/pen/Ehgdp

Другие вопросы по тегам