Flexbox проти Twitter Bootstrap (або подібний фреймворк) [закрито]


161

Я нещодавно виявив, Flexboxколи шукав рішення, щоб зробити діви однакової висоти, залежно від найвищої.

Я прочитав наступну сторінку на CSS-tricks.com, і це переконало мене, що flexboxце дуже потужний модуль для вивчення та використання. Однак, це також змусило мене задуматися над тим, що Twitter Bootstrap (і подібні рамки) пропонують такі ж функції (+ звичайно, багато додаткових) зі своїми сітчастими системами.

Тепер питання: Які плюси і мінуси flexbox? Чи є щось, що неможливо зробити з Flexbox, що можна зробити з такою рамкою, як Bootstrap (звичайно, мова йде лише про сітку)? Який з них швидший, коли впроваджується на веб-сайті?

Я здогадуюсь, коли лише для сітчастої системи розумніше використовувати чисто flexbox, але що робити, якщо ви вже використовуєте рамку, чи flexboxможна щось додати?

Чи є якісь причини вибрати flexbox"сітчасту систему" над рамкою?


5
Я використовую Flexbox з Bootstrap.
Ейбрій

2
Погляньте на Фонд Зурба для додатків . вона повністю побудована на вершині Flexbox Grid System
Salem Ouerdani


1
Bootstrap 4 тепер за замовчуванням є flexbox! Flexbox - це надзвичайно потужний інструмент компонування, що забезпечує безпрецедентну гнучкість та управління мережевою системою та основними компонентами. Він коштує відмови від підтримки IE9, але приносить значні вдосконалення компонування компонентів, вирівнювання та розмірів.
Нермієн Баракат

5
Я не погоджуюся з тим, що це повинно бути закрито на основі думки. Запитуючий шукає факту, а не думки. "Які плюси і мінуси флексбоксу?" Запитувач (як я) намагається визначити сильну точку та недоліки кожної системи.
Дарин Кардін

Відповіді:


107

З декількох причин, flexbox набагато краще, ніж завантажувальний:

  • Bootstrap використовує поплавці для створення сітчастої системи, яка, як кажуть багато хто, не призначена для Інтернету, де flex-box робить навпаки, зберігаючи гнучкість до розміру та вмісту елементів; така ж різниця, як використання пікселів проти em / rem, або, як, наприклад, керування дивами лише за допомогою поля та прокладки та ніколи не встановлюючи попередньо визначений розмір.

  • Для завантажувальної програми, оскільки вона використовує floats, потрібно чіткий виправлення після кожного рядка, інакше ви отримаєте нерівні знаки різної висоти. Flex-box цього не робить, а замість цього перевіряє найвищий діл у контейнері та дотримується його висоти.

Єдина причина, з якої я б хотів завантажуватися через flex-box, - це відсутність підтримки браузера (в основному IE) (вже гинуть). І іноді ви отримуєте різну поведінку від Chrome і Safari, хоча обидва користуються одним і тим же движком веб-кайтів.

Редагувати:

До речі, якщо єдиною проблемою, з якою ви стикаєтеся, є стовпчики рівної висоти, для цього існує досить багато рішень:

  • Ви можете використовувати display: tableдля батьків, для display: table-cell;дитини. Див. Як отримати однакову висоту на дисплеї: таблиця-комірка

  • Ви можете використовувати абсолютне позиціонування для кожного ключа:
    position: absolute; top: 0; bottom: 0;

  • Є також рішення jquery / JS, і ще одне рішення, яке я не можу згадати на даний момент, який я спробую додати пізніше.

Редагувати 2:

Також перевірте http://chriswrightdesign.com/experiment/flexbox-adventures/ & https://scotch.io/tutorials/a-visual-guide-to-css3-flexbox-properties щодо того, як працює flex-box.

Редагувати 3: https://kyusuf.com/post/almost-complete-guide-to-flexbox-without-flexbox

Редагуйте 4: https://caniuse.com/#feat=flexbox


1
Дякуємо за ваш коментар Я не зміг знайти жодних пояснень щодо того, що було "кращим" двох, тому сподіваюся, що моє запитання (а також ваші та майбутні відповіді) допоможуть людям вирішити. На щастя, IE 11 зараз отримує більшу частку на ринку, ніж три попередні версії (у тому числі IE10 підтримує flexbox), тому в моїх очах це безпечно використовувати. Як ви думаєте про використання комбінації рамки та flexbox? Звичайно, ігноруючи систему сітки рамки під час її використання.
Рвервурт

2
Flexbox можна використовувати для створення більш потужної сітчастої системи більш простим способом, але це не сама сітка. Краще, простіші Grid Systems демонструють деякі ідеї, а ZURB Foundation for Apps використовує flexbox для цілей компонування
ckuijjer

насправді ти можеш використовувати обидва, якщо ти хочеш, що, я вважаю, є найкращим вибором, тому що тобі не потрібно обертати ур розумом навколо чогось, до чого ти звик досить довгий час (як для тих, хто нічого не знає, крім BS), але для мене точка продажу flex-box - це така ж гнучкість, яку ви можете отримати лише за допомогою JS, але без написання єдиного рядка коду.
ctf0

Повні дані про сумісність: caniuse.com/#feat=flexbox Зауважте, що у старих Android також є проблеми.
cvrebert

гребля, і я подумав, що ми майже там використовуємо це, здається, пройде ще рік, або щось b4, ми бачимо це в дикій природі, ніж за голову вгору.
ctf0

6

Я не використовую Flexbox (я читав про це і, здається, це чудово), але я Fottend Dev Bootstrap. Я пропоную вам протестувати сторінки друку Flexbox, перш ніж приймати остаточне рішення. Ви знаєте ... Іноді стилі друку - це страшний головний біль, і Bootstrap мені дуже допомагає, коли мені доводиться розробляти формати друку.


ось чому б ви використовували плаваючу сітку лише для друкованих дивів спільно з класами друку завантажувального завантаження
ctf0

1

Боюся, ви пропустили ще одну статтю про хитрощі CSS :

Примітка. Макет Flexbox найбільш підходить для компонентів програми та малих розмірів, в той час як макет Grid призначений для макетів більшого масштабу.

Це не означає, що ви можете не спробувати, а просто подумайте. І все врешті залежить від бажаної підтримки браузера.


24
Переконайтеся, що ви розумієте, що в статті йдеться про нову макет Grid, а не про сітку завантажувальної програми.
getsetbro

5
Потрібно сказати, що я пропустив це! :) Дякую за виправлення
Kout

Оголошений, ви вказали на дуже чітке розмежування як використовувати флеш-скриньку та сітку без конфлікту намірів та цілей, і для мене це не має значення, якщо ви маєте на увазі сітку завантажувальної мережі або сітку без розриву
Ахмад Фарук
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.