Flexbox против таблиц, зачем нам flexbox? - программирование
Подтвердить что ты не робот

Flexbox против таблиц, зачем нам flexbox?

Кто-нибудь может просветить меня о том, как новая модель макета Flexbox лучше, чем текущие таблицы? (дисплей: таблица и все они включены в мой случай)?

Это не поддерживается вообще при IE10, что не очень хорошо для ближайшего будущего, и я просто не вижу никаких преимуществ по сравнению с табличным макетом. Тем не менее, Интернет начинает наполняться "поклонниками" этого нового метода компоновки CSS, и все примеры, которые я вижу, можно легко сделать с помощью обычного css без проблем.


Обновление 25.12.15:

Я много использую flexboxes с тех пор, как их познакомили с современными браузерами, и прекратил использовать display:table и т.д., Потому что flexboxes более мощные и простые в использовании.

4b9b3361

Ответ 1

Есть три различия, которые я могу представить между использованием flexbox и использованием табличных значений отображения или поплавков для компоновки страницы:

  • Возможность переупорядочивать элементы независимо от исходного кода HTML, сохраняя элементы в нормальном потоке - вы можете сделать это, указав целочисленное значение с помощью order.
  • Это требует меньше набора текста, чем традиционные плавающие макеты (вам не нужны все псевдоэлементы для целей очистки) и более семантичен, а использование плавающих или таблиц для макетов, очевидно, не таково.
  • Способность гибких элементов расти и сжиматься для заполнения горизонтального и вертикального пространства на основе размеров элементов предка - с помощью свойств flex-grow и flex-shrink.

Проблема (как вы указали) заключается в том, что поддержка по-прежнему довольно плохая; Фактически Firefox по-прежнему внедряет более старую версию модуля flexbox, поэтому вам приходится учитывать незначительные расхождения в синтаксисе и поведении, в зависимости от того, какой браузер вы используете. Однако было сказано немного, что это будущее для макетов, особенно для сложных веб-приложений, которые появляются чаще. Стоит учиться, если вы в порядке с неизбежным разумным инвестированием - ценой того, что на данный момент не используется.

Я также предлагаю вам взглянуть на эту потрясающую статью в журнале для дружественного введения в flexbox (это довольно недавно написано)

Ответ 2

Проще говоря, это то, что будет полезно через несколько лет. Как и многие продвинутые методы CSS, HTML5 и т.д., Несколько человек усыновят их с болезненными резервами и прокладками /shivs в течение следующих нескольких лет.

Когда браузеры будут поддерживать его в будущем, у нас будет сторона и все ненавидят "старые" браузеры, которые их не поддерживают:).

Ответ 3

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

В последнее время улучшается поддержка браузеров, некоторые говорят, что мы должны использовать его сейчас. Однако Bootstrap 3 не использует flexbox, но я могу представить, что следующая версия будет.