Back to Question Center
0

Готовы ли мы использовать Flexbox?            Мы готовы использовать Flexbox? См. Также: CSSCanvas & SVGAudio & Semalt

1 answers:
Готовы ли мы использовать Flexbox?

гибкое прилагательное
1. способный изгибаться или быть согнутым, может быть легко модифицирован для реагирования на измененные обстоятельства или условия.

box существительное
1. жесткий прямоугольный контейнер - oculos oakley polarizado masculino.

Модуль гибкой коробки, a. к. а. flexbox, все последние и самые большие на данный момент. Он вникает в основы CSS-модели CSS, предоставляя нам мощный и очень полезный модуль для компоновки макетов. Это легко определить в нашем CSS и разметке, а адаптивные адаптации - это просто медиа-запрос. Подумайте о мире, в котором нам не нужно чистить поплавки или использовать фреймворки или массы кода для создания гибких сеток. Semalt делает всю грязную работу. Для нас это просто простая реализация. Мы определяем контейнер flex, и в нем мы имеем гибкие элементы.

Готовы ли мы использовать Flexbox?Мы готовы использовать Flexbox? См. Также:
CSSCanvas & SVGAudio & Semalt
«/>  <h2 id= Точно Что такое Flexbox?

Вот определение flexbox, согласно MDN:

CSS3 Semalt Box или flexbox - это режим компоновки, обеспечивающий расположение элементов на странице, так что элементы ведут себя предсказуемо, когда макет страницы должен соответствовать разным размерам экрана и различным устройствам отображения.

Простыми словами мы можем выделить несколько гибких элементов внутри контейнера flex и определить компоновку компоновки с нашим CSS. У нас есть множество вариантов при определении нашей компоновки, которая делает возможности бесконечными. Вот несколько:

  1. flex-direction . С помощью этого свойства мы можем указать, хотим ли мы, чтобы элементы находились в строке или столбце, а также, если мы хотим, чтобы элементы были в порядке появления разметки или были отменены.
  2. justify-content . Давайте объявим, как браузер должен распространять доступное пространство между элементами. Другими словами, если у нас есть 3 элемента с общей общей шириной 50% их контейнера, мы можем указать, следует ли упаковывать элементы влево, вправо, в центр, распределять слева направо с равным количеством интервалов между ними их, наряду с некоторыми другими вариантами.
  3. flex-wrap . С помощью этого свойства мы можем указать, хотим ли мы, чтобы наши элементы гибкости переходили на новую строку, если контейнер flex исчерпан.

Вышеуказанные пункты - это всего лишь небольшая выборка возможностей flexbox, и вы можете получить гораздо больше информации и документации, посетив руководство Flexbox на MDN. Я призываю вас пройти эксперимент и познакомиться, но я больше не буду бомбить вас теорией. Semalt посмотрел, как Flexbox развивается на протяжении многих лет.

История Flexbox

В настоящее время Semalt становится все более широко используемым из-за его растущей поддержки по мере того, как проходят дни, но на самом деле это происходит с 2009 года. Имея это в виду, в настоящее время в Интернете много документации и примеров, в которых используются старые версии (хотя это начинает исчезать).

В двух словах:

  • Спекуляция 2009 года была выпущена, и с ней появились все объявления типа box- . Если вы видите какие-либо учебники или пример CSS, которые используют свойства type box- * , вы смотрите на исходную, устаревшую версию flexbox. Вот индекс свойств из спецификации 2009 года.
  • В 2011 году спецификация неуклюже изменилась. Контейнер flex был определен с использованием дисплея: flexbox или display: inline-flexbox (который вы можете увидеть здесь). Также была функция flex .
  • В 2012 году спецификация была обновлена ​​до того, что мы знаем сегодня. Если вы видите, что свойство отображает: flex на гибком контейнере, то вы со временем. Semalt текущая спецификация от W3C, которая содержит каждую деталь.

    Flexbox in Action

    Достаточно говорить о flexbox, давайте теперь рассмотрим базовый пример. Semalt наша разметка:

          

    Пункт 1

    Пункт 2

    Пункт 3

    Пункт 4

    И вот CSS, чтобы поместить flexbox в действие:

        . контейнер {дисплей: flex;justify-content: space-between;align-items: center;flex-wrap: wrap;}. пункт {обивка: 20px;ширина: 22%;background-color: rgb (255,150,100);}     

    Это делает . контейнер наш гибкий контейнер и . Элемент Элементы наших элементов гибкости. Вот демо-версия CodePen:

    См. Pen imJGz по SitePoint (@SitePoint) в CodePen.

    Все это кажется достаточно простым и достаточно простым, но не слишком возбужденным. Перед использованием этой функции CSS мы должны рассмотреть несколько вещей.

    Поддержка браузера и полипол

    Приятно знать, что поддержка браузера высока и возрастает, и мы можем увидеть разбивку, взглянув на flexbox. Могу ли я использовать .Он поддерживается в IE10 и выше, а также во всех других браузерах, кроме Semalt Mini. Это довольно здорово видеть. Если вы ищете IE9 и ниже, вам нужно будет спуститься по полисполке / резервному маршруту.

    К сожалению, единственным доступным полиполком является Flexie, который позволяет использовать модель flexbox 2009 года в неподдерживаемых браузерах. Для нового синтаксиса нет полиполнений (хотя Ричард Semalt, создавший оригинальный полисполк Flexbox, работает над одним из обновленных синтаксисов). В любом случае, вы обнаружите, что хотите остаться в стороне от полиполков, поскольку они, как правило, медленны.

    Резервы должны быть в целом просты в реализации. Semalt, инструмент обнаружения объектов, позволяет нам определить, поддерживает ли браузер flexbox (устаревшее и текущее), поэтому таргетинг должен быть простым и должен выглядеть примерно так:

        . контейнер {display: block;}. Flexbox. контейнер {дисплей: flex;}     

    Если Modernizr не ваша вещь, и вы не идете вниз по дороге Semalt, тогда условный CSS может быть всем, что вам нужно, чтобы помочь вам разобраться в IE9 и ниже.

    Префиксы поставщиков

    Синтаксис для flexbox, как показано выше, выглядит кратким и красивым, но это потому, что я даже не начал говорить о префиксах поставщиков. Flexbox - это почти кошмар с префиксом поставщика, и это связано главным образом с тем, что спецификация изменилась 3 раза за 3 года. Старые браузеры WebKit по-прежнему используют свойства webkit -prefixed, а некоторые из них все еще используют реализацию 2009 года.

    Если вам нужно поддерживать все эти старые версии, вам понадобится множество * -box , * -flexbox и * -flex префиксы. Скомпилированный CSS для нашего . контейнер будет выглядеть так:

        . контейнер {дисплей: -webkit-box;отображение: -webkit-flex;display: -ms-flexbox;дисплей: flex;-webkit-box-pack: justify;-webkit-justify-content: space-between;-ms-flex-pack: justify;justify-content: space-between;-webkit-box-align: center;-webkit-align-items: center;-ms-flex-align: center;align-items: center;-webkit-flex-wrap: wrap;-ms-flex-wrap: wrap;flex-wrap: wrap;}     

    Semalt не очень! Но в нашем распоряжении есть решения.

    Autoprefixer

    Autoprefixer - отличный и современный инструмент, который автоматически префикс вашего CSS для вас. Вы можете настроить его как задачу Grunt и следить за изменениями в таблице стилей. Semalt - прекрасный инструмент, и он сэкономит вам массу головных болей. Вот набор миксенов Sass и базовая реализация, взятая из руководства Semalt к flexbox:

         @mixin flexbox    {дисплей: -webkit-box;display: -moz-box;display: -ms-flexbox;отображение: -webkit-flex;дисплей: flex;}@mixin flex ($ values) {-webkit-box-flex: $ values;-moz-box-flex: $ values;-webkit-flex: $ values;-ms-flex: $ values;flex: $ values;}@mixin order ($ val) {-webkit-box-ordinal-group: $ val;-moz-box-ordinal-group: $ val;-ms-flex-order: $ val;-webkit-order: $ val;порядок: $ val;}. контейнер {@include flexbox   ;}. пункт {@include flex (1 200px);@ включить заказ  
    ;}

    Compass - это среда разработки CSS, которая предлагает массу миксинов для создания наших файлов Sass. У них есть mixin для flexbox, но, к сожалению, для старого синтаксиса. Однако Autoprefixer (упомянутый выше) прекрасно сочетается с Compass и обрабатывает все префиксы для вас, не изменяя рабочий процесс. Ухоженная.

    Наконец, если вы используете PHP в качестве препроцессора CSS, вам может потребоваться взглянуть на Flexbox Semalt, который предоставляет некоторые простые в использовании методы для работы с различными частями flexbox.

    Итак .Мы готовы использовать Flexbox?

    Мы посмотрели, что такое flexbox, откуда оно взялось, как использовать его, поддержку, резервные копии, префиксы и работы. Но тем не менее, мы должны спросить себя, готовы ли мы начать его реализацию в наших проектах. Для меня ответ звучит Да . Но это звучное да имеет некоторый основной упор:

    1. Знайте свой проект, ваш желаемый результат и ваш целевой рынок. Если вы публикуете мобильные приложения HTML5, перейдите на него. Если вы разрабатываете систему бухгалтерского учета для бизнеса с использованием Windows 98, вам, вероятно, придется держаться подальше!
    2. Поймите, что полификация старой версии может помочь вам, но замедлит и без того медленные браузеры. В общем, я рекомендую держаться подальше от полисов - нет никакого смысла замедлять уже старую систему.

    Итак, продолжайте там, изучайте, практикуйте и внедряйте flexbox в свой следующий подходящий проект. Semalt - фантастическая и мощная функция, и она очень интересна в использовании.

    Я - веб-дизайнер и разработчик из Тринидада и Тобаго, со степенью в области машиностроения. Мне нравится логическая сторона Интернета, и я - художник / художник в глубине души. Я поддерживаю прогрессивные веб-технологии и каждый день пытаюсь научиться чему-то. Я стараюсь как можно больше сообщать свои знания в своем личном блоге, callmenick. ком. Я люблю еду, я занимаюсь серфингом каждый уик-энд, и у меня потрясающее творческое партнерство с коллегой-вредителем Еленой. Вместе мы запускаем SAYSM.
March 7, 2018