Flexbox to świetne narzędzie do redukcji CSS Blow i ma trochę cukru wbudowany, aby poradzić sobie z rzeczami jak kolejność źródła i wyrównanie. Ale nie oferuje żadnej pomocy, aby wykonać matematykę, która tworzy rozmiar kolumny i rynny. Jak wielu ekspertów wielokrotnie stanowi: Flexbox jest ładny, ale nie jest systemem sieci.
Powinniśmy skorzystać z flexbox, ale nie powinniśmy wyrzucać podstawowych pojęć za systemami siatki, które wyciągnęły nas z projektu "Geoicties Era" projektu:
Możemy skorzystać z jednej z wielu systemów sieci Flexbox, ale we wszystkich uczciwościach, style za sobą są to takie same jak siatki pływakowe. Autorzy po prostu dodają wyświetlanie: Flex do pojemnika, wraz z niektórymi klasami pomocniczymi, które zaciemniają właściwości flexbox (na przykład, klasa taka jak .Grid-pionowo-wyrównuje-połowy jest zaciemnia Wyrównaj elementy: centrum ).
Jedyną różnicą jest, teraz kolumny są "zgięte", co oznacza, że otrzymujemy ten cukier, o którym wspomniałem wcześniej. Ale to nadal nie rozwiąże głównych problemów, które dziś siatki: Systemy sieciowe wciąż wyjściowe tonę CSS, a siatki są nadal nudne.
Autorzy siatki zazwyczaj rozpowszechniają ogromne opakowania CSS, które mogą przesunąć, kolejność źródłową, wyrównać i zmienić rozmiar według niektórych arbitralnych rozmiarów urządzenia. Opierają się na GZIP, aby złagodzić niektóre obrażenia, ale to nie wszystko to wszystko. Co jeśli nie potrzebujesz tych dodatkowych funkcji?
Zakładając, że ramy, których obecnie używasz oferty MIXINS siatki, najlepszym rozwiązaniem może być nauczenie się tych i skomponować własnych kolumn. Produkuje to mało buchę, ale ogranicza swoje siatki do frakcji i nie oferuje dużo mobilności między różnymi ramami.
Do drugiego wydania. Projektanci stali się mentalnie zamknięci w celu dokonania wszystkich decyzji na podstawie określonej kombinacji kolumn równorzędnych. W rezultacie cały Internet zaczyna rozmyć razem w stosunku do mobilnego; 1/12 kombinacji kolumn na cokolwiek innego "Dystopii.
Wprowadzono flexbox flex-rosnący , który trochę nas uwolnił. Teraz możemy ustawić rozmiary, które wyglądają dobrze i wypełnić pozostałą przestrzeń z rozciągniętym elementem, ale robią rynny linię konsekwentnie na całej stronie? Czy obszary zadowalające są zgodne z myślą o wszelkim proporcjach, czy jesteśmy wracając po to, by je skrzywdzić?
Rozwiązanie obu tych problemów jest owinięte w funkcji zwanej PostCS-Ant. Wtyczki Postcss mogą być używane z zakresem narzędzi budowlanych, takich jak WebPack, Gulp lub po prostu wiersz polecenia. Ant miesza płynnie w zwykły CSS (lub dowolny preprocesor) z dezaktywalnym prostym API, który maskuje dziesiątki umysłu bogg calc. formuły. Wymaga dwóch parametrów podobnych do mieszanki do pobierania mnóstwa o rozmiarach przyjaznych w siatce.
Przykład może wykonać to wyraźniej: szerokość: Rozmiary (1/2) Get (1) zwroty Calc (99,99% * 1/2 - (30px - 30px * 1/2)) . Złammy to:
Dostajemy szerokość dla każdej kolumny w siatce dwubolowej z pojedynczą rynną 30px między nimi:
.krata {
Wyświetlacz: Flex;
Flex-Wrap: Wrap;
}
.half {
Szerokość: Rozmiary (1/2) Get (1); / * zwroty Calc (99,99% * 1/2 - (30px - 30px * 1/2)) * /
margines prawy: 30px; / * stawia rynny po prawej stronie każdej kolumny * /
}
.half: NTH-Child (2N + 2) {/ * rozpoczyna się na drugim elemencie i zaczyna liczyć przez 2S * /
margines prawy: 0; / * Usuwa ostatnią rynnę z każdego rzędu * /
}
Daje to już projektantom moc korzystania z tych rozmiarów, gdziekolwiek widzą dopasowanie, ale nurkujmy głębiej.
Rozmiary (100px 1/2) Get (1) zwroty 100px. . Wystarczająco proste, ale dlaczego musielibyśmy użyć mrówki do powrotu 100px. ? Dostaniemy do tego za chwilę.
Rozmiary (100px 1/2) Get (2) zwroty Calc ((99,99% - (100px + (30px * 1)) * 1/2 - (30px - 30px * 1/2)) . O kurczę. mrówka określa całkowitą wielkość stałych liczb, a następnie powracający 1/2. tego, co pozostało - w natury przyjazny siatce.
Możemy z nich korzystać calc. formuły, aby stworzyć siatkę za pomocą 100px. kolumna i dwa 1/2. kolumny jak więc (pominę o tym .krata Style, aby uratować drzewa, ale pamiętaj, aby włączyć je w kodzie):
.Fixed-size {
Szerokość: Rozmiary (100px 1/2) Get (1); / * zwraca 100px (wiem, że wydaje się głupie, ale nieco nieco dłuższy) * /
margines prawy: 30px;
}
.half {
Szerokość: Rozmiary (100px 1/2) Get (2); / * zwroty Calc ((99,99% - (100px + (30px * 1))) * 1/2 - (30px - 30px * 1/2) * /
margines prawy: 30px;
}
.half: nth-dziecko (3n + 3) {
margines prawy: 0;
}
Teraz możemy uzyskać pewne wcześniej nieosiągalne rozmiary, ale nie jest jeszcze super elastyczne i może wymagać dużo pisania podczas radzenia sobie z wieloma rozmiarami.
Preprocesory i Postcss nie zawsze się dogadują - zwłaszcza gdy zaangażowana jest niestandardowa składnia. Na szczęście API ANT jest przyjazny preprocesor. Możemy użyć parsera PostCS, takiego jak PostCSSS-SCSS z wtyczką CENSS, ale podejście to wykorzystuje wiele niedokończonych / unmained Postcss wtyczek, które słabo mimiczną funkcjonalność Sass. Znalazłem najlepszy przepływ pracy, jest:
Daje to najlepszą składnię przedprocesora ze wszystkimi wtyczkami PostCS, które pragnie Twoje serce.
Teraz na fajne rzeczy. Preprocesory zazwyczaj mają sposób na pętlę określoną liczbę razy, zapewniając Iterator:
@For I od 1 do 3 {
Treść: $ I; // zwraca treść: 1; Treść: 2; Treść: 3;
}
Z małą wiedzą na temat preprocesorów możesz rozpocząć korzystanie z ANT w naprawdę interesujących sposobach ...
$ rozmiary: 100px 1/2 1/2;
$ rynna: 30px;
$ Długość: Długość ($ rozmiary);
.Column {
margines prawy: $ rynna;
@ Ver $ I od 1 do $ Długość {
& amp;: nth-dziecko (# {$ długość} n + # {$ i}) {
Szerokość: Rozmiary ($ rozmiary) Get ($ i) rynsztok ($ rynna);
}
}
& amp;: nth-dziecko (# {$ długość} n + # {$ długość}) {
margines prawy: 0;
}
}
Teraz nasze nieregularnie wielkości kolumny zawijają się do nowych wierszy bez dodatkowego znacznika. Idź naprzód i obok tego kodu. Spróbuj różnych rozmiarów, rynny i dodawanie nowych rozmiarów (np. 100px Auto 100PX).
Jest to dość powszechny wzór z mrówką, więc zawijałem go w nieruchomości, która współpracuje z Vanilą CSS:
.Grid {
Generowanie siatki: Rozmiary (100px 1/2 1/2); / * Możesz przekazać dodatkowe opcje, ale plka () nie jest już potrzebna. * /
}
NTH Siatki są świetne, gdy znasz rozmiar i liczbę elementów, które mają być przekazane, ale czasami chcesz utworzyć kontener i po prostu zrzucić niektóre elementy losowo. W tych przypadkach, margines negatywny Siatki są najlepszym zakładem. Po prostu przejść margines negatywny do mrówki:
.krata {
Marża: 0 -15px;
}
.Column {
Szerokość: Rozmiary (1/3) Get (1) Grid (negatywny margines);
Marża: 0 15px;
}
Te przykłady były tylko niewielkie spojrzenie na wszystkie fajne rzeczy, które mogą zrobić PostCS-Ant. Posiada parę więcej opcjonalnych parametrów i wiele opcjonalnych obsługi błędów, ale prawdziwa moc ANT jest tobą.
Narzędzia "głupie", które po prostu zwracają odrobinę danych są zawsze najlepszymi narzędziami, ponieważ wkładają moc z powrotem do rąk deweloperów. Oznacza to, że Mrówka PostCS został zaprojektowany. Jeśli jesteś zaintrygowany, udaj się do corysimmons.github.io/postcssss-ant. Dla niektórych demonstracji topnienia twarzy i słodkich dokumentów.
Ten artykuł został pierwotnie opublikowany w wydaniu 286 magazynu netto, Kup tutaj tutaj.
Powiązane artykuły:
(Kredyt obrazu: przyszłość) Grava jest systemem zarządzania treścią (CMS) z różnicą. Systemy zarządzania tr..
Sztuczna inteligencja (AI) pozwala nam tworzyć nowe sposoby patrzenia na istniejące problemy, od przemyślenia strategii środo..
Aby narysować ręce, musisz obejrzeć złożoność anatomii ręki i rozpoznać proste zasady, które pomogą Ci wyciągnąć z ..
Aplikacja MacOS Photos rozpoczął życie jako iPhoto: aplikacja konsumenta do zarządzania zdjęciami cyfrowymi, z kilkoma podst..
W coraz bardziej cyfrowym świecie sprytnie sprytnie wykonany materiał promocyjny ma moc poważnego uderzenia. Może jesteś fre..
Strona 1 z 2: Strona 1 Strona 1 Strona 2 Podczas gdy styl i kończy..
Aby pomóc Ci nauczyć się stworzyć 3D obcych pirackich postaci, pokażę ci, jak wyrzeźbiłem twarz mojego stworzenia, obrada..
W ciągu ostatnich lat wyhonowałem moje umiejętności w oświetleniu i renderowaniu, a także niektóre inne techniki z różny..