Mam następujący układ za pomocą schematu flexbox z Flex-wrap i elementów zdolnych do rozciągania za pomocą elastycznego rosnąć:Collapsing margines na dzieciach schematu flexbox
Każdy element ma margines ze wszystkich stron. To jest oddzielenie elementów od siebie, ale efektem ubocznym jest to, że cały blok ma marginesy, które chciałbym zawalić. Można to zrobić za pomocą reguł takich jak nth-child(-n+3) { margin-top: 0; }
, ale ponieważ rozmiar kontenera może się różnić, może być dowolna liczba elementów w rzędzie i dowolna liczba wierszy. Zastanawiam się, czy flex-box nie ma sposobu na zwinięcie zewnętrznych marginesów w takiej konfiguracji, przy jednoczesnym zachowaniu marginesów między elementami.
HTML jest po prostu 6 pozycji wewnątrz kontenera.
CSS (Sass) przedstawia się następująco:
.container
display: flex
flex-wrap: wrap
background: #eef
align-items: stretch
.item
flex-grow: 1
margin: 1em
border: 1px solid black
padding: 1em
min-width: 6em
Wydaje się owinięcie może być jedynym rozwiązaniem dla tego, chyba że ktoś może sugerować czystego roztworu schematu flexbox. – mahemoff
Pracowałem dla mnie. Musiał umieścić pojemnik w innym pojemniku, a następnie dodać margines do najbardziej zewnętrznego pojemnika, ponieważ pojemnik zjada wszelki margines znajdujący się na zewnątrz, który nie został dodany przez każdy element flexbox. Dobre rozwiązanie jednak, zdecydowanie z niego korzystające. –