Flexbox nədir? Bütün css xüsusiyyətlərinin təsviri, əsas prinsipləri, üstünlükləri və mənfi cəhətləri. Flexbox Faydalı Flex keçidləri ilə işləmək üçün bəzi faydalı nümunələr

Flexbox, məzmunundan asılı olmayaraq bütün sütunların tam hündürlüyü tutmalı olduğu üç sütunlu, "Müqəddəs Qrail" adlanan düzən kimi tez-tez istifadə olunan veb sayt tərtibatlarını yaratmaq üçün idealdır. Bu halda mənbə kodunda əsas məzmun naviqasiyadan əvvəl, səhifənin özündə isə əsas məzmun naviqasiyadan sonra gəlir.

Bunun kimi.

Misal

Bir papaq
Məqalə
Zirzəmi

Flexbox-un meydana çıxmasından əvvəl, bu cür tərtibatı bir növ hack istifadə etmədən əldə etmək olduqca çətin idi. Tərtibatçılar tez-tez məzmunun miqdarından və ya ekran ölçüsündən asılı olmayaraq hər şeyi düzgün şəkildə sıralamaq üçün əlavə işarələmə əlavə etmək, mənfi kənarları tətbiq etmək və digər tövsiyələr etməli olurdular. Ancaq yuxarıdakı nümunədən göründüyü kimi, flexbox-da hər şey daha sadədir.

Budur kodun xülasəsi. Bu misalda biz #main elementini çevik konteynerə çeviririk, eyni zamanda başlıq və altbilgini blok səviyyəli elementlər kimi buraxırıq. Başqa sözlə, yalnız orta hissə flexbox olur. Budur, onu çevik konteynerə çevirən bir parça.

#main (ekran: flex; min hündürlük: calc(100vh - 40vh); )

Biz sadəcə ekrandan istifadə edirik: çevik konteyner etmək üçün. Diqqət yetirin ki, biz həmçinin calc() funksiyası ilə minimum hündürlük dəyərini təyin edirik və #main-i görünüş sahəsinin hündürlüyünün 100%-nə təyin edirik. mənfi qapağın və zirzəminin hündürlüyü (hər biri 20vh). Bu, az məzmuna malik olsa belə, tərtibatın ekranın tam hündürlüyünü tutacağını təmin edir. Nəticədə, məzmun ekranın hündürlüyündən az yer tutursa, altbilgi heç vaxt qalxmayacaq və onun altında boş yer qoymayacaq.

Bütün elementlərə qutu ölçüsünü: sərhəd qutusunu tətbiq etdiyimizi nəzərə alsaq, minimum hündürlüyün hesablanması kifayət qədər asan idi. Əgər etməsəydik, əlavə etməli olardıq doldurma dəyəriçıxılacaq məbləğə.

Flex konteynerini quraşdırdıqdan sonra biz çevik elementlərlə məşğul oluruq.

#main > article ( flex: 1; ) #main > nav, #main > side ( flex: 0 0 20vw; fon: bej; ) #main > nav (sifariş: -1; )

Flex xassələri flex-grow, flex-shrink və flex-basis xassələrinin stenoqrafiyasıdır. Birinci halda biz yalnız bir dəyər yazdıq, ona görə də flex flex-grow xassəsini təyin edir. İkinci halda, hər üç dəyəri yazdıq