2016-09-12 2 views
5

В приведенном ниже примере все стабильные браузеры, поддерживающие flexbox, отображают страницу правильно.Flexbox «align-items: center» не работает на бета-версии Chrome

См. Jsfiddle here.

Из-за align-items: center; три цветные блоки равномерно распределены в section элемента:

Firefox 48.0

Однако на последней Chrome Beta (54) и Канарских (55) версий, тот же самый пример визуализируется как это:

Chrome beta 54

ли это будет ожидаемое поведение для align-items в следующих версиях о f Chrome? Или это ошибка ...


UPDATE

Michael_B's answer прояснилось разницу между align-items и align-content в данном макете. Его jsfiddle следует использовать для тестирования макета.

Тем не менее, даже при правильной собственности Flexbox, Chrome бета и Canary не рендеринг макета так, как они должны быть:

enter image description here

+0

'align-items' должен выравнивать элементы в одном ряду элементов (отсюда и название). Чтобы центрировать несколько строк (все содержимое, которое есть), используйте 'align-content: center;'. – Paul

+0

'align-content: center;' исправляет проблему вертикального центрирования, но элементы не будут равномерно распределены таким образом. – DeanAlexRainier

+0

Правильно, я думал, что вопрос будет о том, чтобы линии были сверху, а не в центре.Вы попробовали 'align-content: space-around?'? Это даст вам ожидаемый результат? – Paul

ответ

2

Правильный путь для достижения макета выше с align-content: space-around (demo).

При работе с многолинейным гибким контейнером используется align-content.

Из спецификации:

8.4. Packing Flex Lines: the align-content property

align-content свойства выравнивает линию гибком контейнера в гибкого контейнер, когда есть дополнительное пространство в поперечной оси, подобно тому, как justify-content выравнивает отдельные элементы в пределах основной оси .

Примечание. Это свойство не влияет на однолинейный изгиб. контейнер.

только многострочные гибкие контейнеры, когда-либо свободное пространство в поперечных осях для линий, чтобы быть выровнены в, потому что в однострочном гибком контейнере единственная линия автоматически растягивается, чтобы заполнить пространство.

+0

Благодарим вас за разъяснение между 'align-items' и' align-content'. Я отредактирую свой вопрос. Но когда я просматриваю ваш пересмотренный пример с 'align-content' в бета-версии Chrome или Canary, неправильный отображаемый макет по-прежнему сохраняется. Можете ли вы это подтвердить? – DeanAlexRainier

+0

Я не могу получить доступ к этой версии на этом ПК. Работает ли он в колонке? https://jsfiddle.net/v966v6pp/10/ –

+0

Это работает. Поэтому в основном для такого макета вам необходимо ввести дополнительный элемент для размещения горизонтальных элементов. – DeanAlexRainier

Смежные вопросы