Flex czy siatka? Co teraz działa lepiej? Kiedy testowałem, aby sprawdzić, czy grid i flex są obsługiwane w IE, odkryłem, że oba są obsługiwane tylko częściowo. Flex wydaje się być teraz lepszym wyborem, ponieważ siatka jest trochę stara. Jakie są zalety i wady wyboru jednego z nich? Dzięki za odpowiedzi!
Dla mnie Flex jest domyślnym wyborem jeśli chodzi o rozmieszczenie elementów. Z grida korzystam tylko W przypadkach typu tabela, kolekcja, czyli gdy występują powtarzające się elementy.
Jesli musisz w projekcie dbać o wsparcie IE(ja miałem to szczęście, że nie musiałem do tej pory się tym przejmować) to sprawdź(Jesli mozesz) które zastosowanie lepiej pokrywa to co musisz zakodować
Flex nadaje się do galerii. Dzięki temu zdjęcia ładnie się układają jedno obok drugiego, a jak jest za wąsko, to "schodzą" niżej. Czyli jeden wymiar. Odległości pomiędzy elementami mogą się zmieniać w zależności od rozmiaru okna przeglądarki.
Grid z kolei nadaje się do szkieletu strony. Dzięki temu ustalasz, gdzie masz menu, header itd. Czyli 2 wymiary i raczej statecznie. Popatrz na typową stronę z informacjami - stały układ elementów.
Oczywiście szkielet strony można też wykonać w oparciu o Flex - wtedy pasuje to pod RWD.
NicolasDavis napisał(a):
Flex czy siatka? Co teraz działa lepiej? Kiedy testowałem, aby sprawdzić, czy grid i flex są obsługiwane w IE, odkryłem, że oba są obsługiwane tylko częściowo. Flex wydaje się być teraz lepszym wyborem, ponieważ siatka jest trochę stara. Jakie są zalety i wady wyboru jednego z nich? Dzięki za odpowiedzi!
To są zupełnie różne rzeczy nie mające ze sobą nic wspólnego. Flexa się używa jak chcesz rozmieścić elementy w jednej osi (jednowymiarowo), a grida jak w dwóch prostopadłych osiach (dwuwymiarowo).
Każdy jest dobry do danego celu. Jeśli chcesz rozmieścić elementy obok siebie, i korzystać z align-items
, justify-content
, order
użyj flex. Jeśli chcesz rozmieścić elementy w dwóch wymiarach, korzystać z minmax
, użyj grid.
Jedyne co mają ze sobą wspólnego to że oba weszły w CSS3, ale na tym podobieństwa się kończą.