CSS3: Flexible Box Model - «Верстка»
Больше баллов — выше мотивация: мы обновили инструмент «Баллы за отзывы» — «Блог для вебмастеров»
Больше баллов — выше мотивация: мы обновили инструмент «Баллы за отзывы» — «Блог для вебмастеров»
Южная Корея обеспечит всех граждан страны безлимитным доступом к генеративным ИИ-сервисам - «Новости сети»
Южная Корея обеспечит всех граждан страны безлимитным доступом к генеративным ИИ-сервисам - «Новости сети»
Тайвань расследует подделку маркировки печатных плат — продукцию «Made in China» выдавали за тайваньскую - «Новости сети»
Тайвань расследует подделку маркировки печатных плат — продукцию «Made in China» выдавали за тайваньскую - «Новости сети»
Всё лучшее — детям: глава Nvidia поручил своим дочери и сыну руководство проектами в сфере робототехники - «Новости сети»
Всё лучшее — детям: глава Nvidia поручил своим дочери и сыну руководство проектами в сфере робототехники - «Новости сети»
Робоутка за $399 покорила сердца разработчиков — за сутки её заказали на $2,6 млн - «Новости сети»
Робоутка за $399 покорила сердца разработчиков — за сутки её заказали на $2,6 млн - «Новости сети»
Японцы испытали «силовое поле» для торможения возвращаемых кораблей в атмосфере - «Новости сети»
Японцы испытали «силовое поле» для торможения возвращаемых кораблей в атмосфере - «Новости сети»
Автор утечек GTA VI показал первый геймплей за Лусию и обвинил Rockstar в эксплуатации работников - «Новости сети»
Автор утечек GTA VI показал первый геймплей за Лусию и обвинил Rockstar в эксплуатации работников - «Новости сети»
Sony не разочаровала подписчиков PS Plus анонсом игр на сентябрь - «Новости сети»
Sony не разочаровала подписчиков PS Plus анонсом игр на сентябрь - «Новости сети»
Бунт персонала остановил план Цукерберга по замене 60 % сотрудников Meta✴ на ИИ-агентов - «Новости сети»
Бунт персонала остановил план Цукерберга по замене 60 % сотрудников Meta✴ на ИИ-агентов - «Новости сети»
Выпуск драйверов Nvidia GeForce Game Ready для Windows 10 прекратится в октябре - «Новости сети»
Выпуск драйверов Nvidia GeForce Game Ready для Windows 10 прекратится в октябре - «Новости сети»
Новости мира Интернет » Самоучитель CSS » Вёрстка » CSS3: Flexible Box Model - «Верстка»


Flexible Box Model - часть спецификации CSS3, которая не получила широкого внимания. Давайте исправим это упущение и
рассмотрим как эта возможность может повлиять на дизайн сайтов.



th
{
font-weight: bold;
background: #efefef;
vertical-align: middle;
text-align: left;
height: 50px;
padding: 0 5px;
white-space: nowrap;

#article td
{
font-weight: bold;
font-size: 12px;
vertical-align: middle;
text-align: center;
padding: 0 5px;
background-color: #caf8c7;
color: black;


Кроссбраузерность



Все описанные свойства, на текущий момент (февраль, 2010), поддерживаются движками Gecko (с префиксом -moz) и Webkit
(с префиксом -webkit), что соответствует баузерам Firefox и Chrome/Safari.



Кроме того, разные движки по разному обрабатывают это свойство. Ниже представлен один и тот же пример для разных движков:


CSS3: Flexible Box Model - «Верстка»

Как работает свойство



В наше время, сайты часто делятся на несколько колонок. Для этого активно используется свойство float. Однако,
при разработки CSS2 не стояло задачи многоколоночной вёрстки. И поэтому верстальщики обычно писали что-нибудь такое:


#left-column {
float: left;

#right-column {
float: left;

Что мы можем сейчас?



Подход к вёрстке с Flexible Box Model слегка отличается. Трудно описать словами простоту, поэтому сразу перейдём к примерам:


<div class="container">
<div class="blue">
Какой-то контент.
</div>
<div class="blue">
Ещё одна колонка.
</div>
<div class="blue">
Всего 4 колонки!
</div>
<div class="blue">
Шикарно.
</div>
</div>

И следующий CSS:


.container {
width: 1000px;
display: -webkit-box;
display: -moz-box;
-webkit-box-orient: horizontal;
-moz-box-orient: horizontal;

.blue {
background: #357c96;
font-weight: bold;
margin: 2px;
padding: 20px;
color: #fff;
font-family: Arial, sans-serif;


Вы можете также установить вертикальную ориентацию для такого типа позиционирования.


Следующий шаг


Как вы наверное заметили, на самом деле документ выглядит так:




То есть справа остаётся пустое пространство. Именно в этом месте возможности Flexible Box Model особенно полезны.
Если раньше мы мучались с размерами элементов, чтобы заполнить это пространство, то сейчас появилась возможность
вытянуть определённые элементы, которые его заполнят.


.flexible {
-webkit-box-flex: 1;
-moz-box-flex: 1;

Если добавить этот класс к третьей колонке, то получим приблизительно следующее:



То есть оставшееся пространство распределяется между Flex-элементами. Так как в нашем примере только один элемент
является Flex-элементом, то всё пространство отдаётся ему. Если у вас будет два таких элемента, со значением 1, то
пространство будет распределяться между ними равномерно.



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




Как вы уже поняли, ширины этих колонок соотносятся друг к другу, как 1:1. Таким образом, если например у нас осталось 400
пикселей свободного пространства, то при соотношении 3:1, одному элементу достанется 300 пикселей, а второму - 100.


Направление


Направление - это другой ключевой момент в Flexible Box Model. Давайте слегка изменим наш пример. Допустим мы хотим
изменить порядок добавления элементов в контейнер, вместо 1,2,3,4 будет 4,3,2,1. Для этого нам необходимо использовать
свойство direction:


-moz-box-direction: reverse;
-webkit-box-direction: reverse;


Кроме того, вы можете использовать свойство box-ordinal-group, чтобы изменять порядок колонок. Проще говоря,
элемент с наибольшим значением этого свойства, будет перемещён в конец. Если вы укажете обратное направление, то такой элемент
окажется в начале. Пример использования:


-moz-box-ordinal-group: 2;
-webkit-box-ordinal-group: 2;

Выравнивание



Выравнивание элементов происходит очень просто. Для этого существует два свойства: box-align и box-pack.



При горизонтальной ориентации элементов, box-align указывает как они должны быть выровнены по вертикали в котейнере.
Аналогично и при вертикальной ориентации. Свойство box-pack - полная противоположность, указывает горизонтальное
выравнивание при горизонтальной ориентации, и вертикальное - при вертикальной.


Допустимые значения и краткое описание


Краткое описание свойств:
Позволяет элементам растягиваться в элементе-контейнере до заполнения свободного пространства.
Направление расположения элементов в элементе-контейнере
Указывает как элементы выровнены в элементе-контейнере.
Связывает элементы в группы
При обычном поведении, элементы будут располагаться в указанном вами направлении бесконечно. Если указать это свойство, то при нехватке свободного места, элементы будут переносится на новую строку.
Порядок сортировки элементов
Ориентация расположения элементов
Выравнивание элементов вдоль их ориентации

Допустимые значения и значения по умолчанию


0.0Вещественное число
normalnormal | reverse | inherit
stretchstart | end | center | baseline | stretch
1Целое число
singlesingle | multiple
1Целое число
inline-axishorizontal | vertical | inline-axis | block-axis | inherit
startstart | end | center | justify

Значения inline-axis и block-axis для свойства box-orient - соответствуют горизонтальной и вертикальной ориентации.


Flexible Box Model - часть спецификации CSS3, которая не получила широкого внимания. Давайте исправим это упущение и рассмотрим как эта возможность может повлиять на дизайн сайтов. th _

Цитирование статьи, картинки - фото скриншот - Rambler News Service.
Иллюстрация к статье - Яндекс. Картинки.
Есть вопросы. Напишите нам.
Общие правила  поведения на сайте.

+1

Смотрите также

А что там на главной? )))



Комментарии )))