flexbox

Новый метод flexbox разметки готов пересмотреть то, как мы делаем разметку в CSS. К сожалению, спецификация недавно изменилась, так что данный метод реализуется по-разному в разных браузерах. Тем не менее, я хотел бы поделиться парой примеров, чтобы вы имели представление, какие перемены могут нас ожидать. Эти примеры в настоящее время работают только с некоторыми браузерами которые используют последнюю версию стандарта..

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

Существует гораздо больше возможностей , которые открывает flexbox; это всего лишь несколько скромных примеров, чтобы дать вам общее представление:

Примеры разметок с использованием Flexbox

.container {
  display: -webkit-flex;
  display: flex;
}
nav {
  width: 200px;
}
.flex-column {
  -webkit-flex: 1;
          flex: 1;
}
<div class="container">
<div class="flex-column">
<section>

Flexbox это легко!

</section>
<section>

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas odio, vitae scelerisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Fusce luctus vestibulum augue ut aliquet. Mauris ante ligula, facilisis sed ornare eu, lobortis in odio. Praesent convallis urna a lacus interdum ut hendrerit risus congue. Nunc sagittis dictum nisi, sed ullamcorper ipsum dignissim ac. In at libero sed nunc venenatis imperdiet sed ornare turpis. Donec vitae dui eget tellus gravida venenatis. Integer fringilla congue eros non fermentum. Sed dapibus pulvinar nibh tempor porta. Cras ac leo purus. Mauris quis diam velit.

</section>
</div>

Модная разметка с использованием Flexbox

.container {
  display: -webkit-flex;
  display: flex;
}
.initial {
  -webkit-flex: initial;
          flex: initial;
  width: 200px;
  min-width: 100px;
}
.none {
  -webkit-flex: none;
          flex: none;
  width: 200px;
}
.flex1 {
  -webkit-flex: 1;
          flex: 1;
}
.flex2 {
  -webkit-flex: 2;
          flex: 2;
}
<div class="initial">

Я буду занимать 200px , если позволит место , но я поубавлю свой размер до 100px, но не меньше, если свободного места для меня не найдется.

</div>
<div class="none">

Я всегда буду занимать 200px, несмотря ни на что.

</div>
<div class="flex1">

Я заполню 1/3 оставшейся ширины.

</div>
<div class="flex2">

Я заполню 2/3 оставшейся ширины

</div>

Центрирование с использованием Flexbox

.vertical-container {
  height: 300px;
  display: -webkit-flex;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: center;
          justify-content: center;
}
<div class="vertical-container">
<div>

В конце концов так легко центрировать по вертикали в CSS!

</div>
</div>
  • Creative Commons License