Ushbu maqolada biz sizga CSS -ni joylashtirishning asosiy muammolarini hal qilishning 5 texnikasini o'rganamiz. Biz, shuningdek, ushbu metodlardan qanday foydalanish mumkinligini aniq ko'rsatadigan, real loyihalardan amaliy misollar qo'shdik.
Ustunlarni balandligi teng qilish
Bu birinchi qarashda juda oddiy ko'rinishi mumkin, lekin ba'zida bu vazifa zerikarli bo'lishi mumkin. Min-balandlikdan foydalanish ishlamaydi, chunki ba'zi kontent paydo bo'lganda ustunlar darhol o'lchamlarini o'zgartira boshlaydi.
Flexbox bilan bu muammoni hal qilish ham yechim emas, chunki flexbox CSS bilan yaratilgan ustunlar dastlab teng uzunlikka ega bo'ladi. Biz faqat "suyuq" modelni joriy qilishimiz kerak, so'ngra egiluvchan yo'nalish va tekislash elementlarining xususiyatlari to'g'ri o'rnatilganligiga ishonch hosil qilishimiz kerak.
Elementlarni qayta tartibga solish
O'tmishda, ba'zi elementlarning tartibini dinamik ravishda o'zgartirish faqat JavaScript -ni bajarishi mumkin bo'lgan vazifa edi. Ammo flexbox -ning paydo bo'lishi bilan, bu muammo endi paydo bo'lmaydi, chunki yechim faqat bitta CSS xususiyatida.
Buyurtma xususiyati, bu bizga flexbox sxemasidan foydalanishga imkon beradi, bu o'zi uchun gapiradi. Bu bizga "moslashuvchan" elementlarning istalgan sonini va ularning ketma -ketligini o'zgartirish imkonini beradi. Bu xususiyatning yagona parametri butun element bo'lib, bu elementning o'rnini belgilaydi, son qanchalik ko'p bo'lsa - bu elementning ustuvorligi shuncha yuqori bo'ladi.
Buyurtma xususiyati ko'p maqsadlarga ega. Agar siz ulardan ba'zilarini ko'rishni xohlasangiz, biz ushbu texnikani ishlatib, javob beradigan sharhlar bo'limini yaratamiz.
Gorizontal va vertikal markazlashtirish
CSS -ni moslashtirish hali ham juda jiddiy muammo. Agar siz qidiruv tizimiga murojaat qilsangiz ham, u sizga ko'plab echimlarni taklif qiladi, ularning aksariyati jadvallar va o'zgarishlardan foydalanishni taklif qiladi, agar biz sezgir tartib haqida gapiradigan bo'lsak, bu umuman mos kelmaydi.
Oddiy echim - bu moslashuvchan quti sxemasi bo'lib, uning yordamida elementlarni koordinata tekisligi bo'ylab harakat qilib, xohlaganingizcha tekislang.
Bu yechimni amalda ko'rish va bu haqda ko'proq ma'lumot olish uchun siz bir xil mavzuga o'tishingiz mumkin.
To'liq javob beradigan tarmoqlarni yarating
Ko'p veb -ustalar sezgir tarmoqlarni yaratish uchun turli CSS kutubxonalari va ramkalariga tayanadi. Bu sohada eng ko'p ishlatiladigan vosita - Bootstrap. Biroq, bu uning yagona turi emas. Yuzlab bunday yordamchilar allaqachon ishlab chiqilgan. Ularning barchasi nisbatan yaxshi ishlaydi va ta'sirchan variantlar bilan faxrlanadi, lekin ular hech qachon bitta muammodan xalos bo'lolmaydilar - bu og'ir. Shuning uchun, agar siz hamma narsani o'z -o'zidan qilishni yaxshi ko'radigan odam bo'lsangiz yoki tarmoq uchun butun tizimni o'rnatishni xohlamasangiz, unda flexbox sxemasi sizga yordam beradi!
Flexbox panjarasidagi qator - bu faqat konteyner. Uning ichidagi gorizontal ustunlar har qanday sonli element bo'lishi mumkin, ularning o'lchami moslashuvchan yordamida o'rnatiladi. Bu model har qanday ekran o'lchamiga moslashadi, shuning uchun ko'pchilik qurilmalarda yakuniy natija yaxshi ko'rinishi kerak. Ammo, agar biz gorizontal tekislikda bo'sh joy etarli emas deb qaror qilsak, unda tartibni ommaviy axborot so'rovi bilan vertikalga aylantirish mumkin.
Siz ushbu texnikaning o'zgaruvchanligini ko'rsatmalarda ko'rishingiz mumkin: Yaratishning eng oson yo'li.
Ruxsat etilgan altbilgi yaratish
Flexbox CSS -da bu muammoning oddiy echimi bor. Moslashuvchan elementlar orqali yozilgan docked altbilgisini o'z ichiga olgan sahifani yaratib, siz uning boshqa harakatlanishidan xavotir olmaysiz.
Displeyni qo'llash: tananing tagiga moslashish butun tartibni tuzishda "moslashuvchan rejim" dan foydalanishga imkon beradi. Hamma narsa tayyor bo'lganda, sahifaning asosiy qismi bitta "egiluvchan" elementdan iborat bo'ladi, ikkinchisi esa altbilgi bilan, bu ularning pozitsiyalarini boshqarishni soddalashtiradi.
html (balandlik: 100%;) tanasi (displey: egiluvchanlik; egilish yo'nalishi: ustun; balandlik: 100%;). asosiy (/ * Asosiy bo'lim mavjud bo'lgan hamma narsani to'ldiradi bo'sh joy altbilgi bilan band bo'lmagan sahifada * / flex: 1 0 auto; ) altbilgi ( / * altbilgi kerak bo'ladigan joyni ajratadi va boshqa piksel emas * / flex: 0 0 auto;)
Siz "" maqolasida ushbu texnika haqida ko'proq ma'lumot topasiz.
Xulosa
Hozirgi kunda ko'pchilik brauzerlar moslashuvchan tartib rejimini qo'llab -quvvatlaydilar, demak, flexbox ko'plab ishlab chiquvchilarga yordam berishga tayyor.
Umid qilamanki, siz ushbu maqolani foydali deb topdingiz va CSS ko'nikmalaringizni oshirdingiz. Omad!
CSS flexbox (Moslashuvchan quti tartibi moduli)- moslashuvchan konteynerlar joylashuvi moduli - bu eksa g'oyasiga asoslangan elementlarni tartibga solish usuli.
Flexbox quyidagilardan iborat egiluvchan konteyner va moslashuvchan narsalar... Moslashuvchan elementlar ketma -ket yoki ustunga joylashtirilishi mumkin, qolgan bo'sh joy esa ular o'rtasida turli yo'llar bilan taqsimlanadi.
Flexbox moduli sizga quyidagi vazifalarni bajarishga imkon beradi:
- Elementlarni to'rt yo'nalishdan biriga joylashtiring: chapdan o'ngga, o'ngdan chapga, yuqoridan pastga yoki pastdan yuqoriga.
- Elementlarni ko'rsatish tartibini bekor qiling.
- Avtomatik ravishda elementlarning hajmini bo'sh joyga moslashtirish.
- Gorizontal va vertikal markazlashtirish bilan muammoni hal qiling.
- Idish ichidagi narsalarni to'kib tashlamasdan o'rab oling.
- Bir xil balandlikdagi ustunlar yarating.
- Sahifaning pastki qismiga mahkamlang.
Flexbox ma'lum bir muammoni hal qiladi - bir o'lchovli sxemalarni yaratish, masalan, navigatsiya paneli, chunki egiluvchan elementlarni faqat bitta o'q bo'ylab joylashtirish mumkin.
Modul muammolari va brauzerlararo echimlar ro'yxati uchun Filipp Uoltonning maqolasiga qarang.
Flexbox nima
Brauzerni qo'llab -quvvatlash
IE: 11.0, 10.0 -ms-
Firefox: 28.0, 18.0 -moz-
Chrome: 29.0, 21.0 -webkit-
Safari: 6.1 -veb -sayt -
Opera: 12.1 -veb -sayt -
iOS Safari: 7.0 -veb -sayt-
Opera Mini: 8
Android brauzeri: 4.4, 4.1 -webkit-
Android uchun Chrome: 44
1. Asosiy tushunchalar
Guruch. 1. Flexbox modeliFlexbox modulini tavsiflash uchun ma'lum atamalar to'plami ishlatiladi. Moslashuvchan oqim va yozish rejimi bu atamalarning jismoniy yo'nalishlarga qanday mos kelishini aniqlaydi: yuqori / o'ng / past / chap, o'qlar: vertikal / gorizontal va o'lchamlar: kenglik / balandlik.
Asosiy o'q- egiluvchi elementlar yotqizilgan o'q. U asosiy o'lchamda kengayadi.
Asosiy boshlanish va asosiy tugash- egiluvchan konteynerning boshlang'ich va oxirgi tomonlarini belgilaydigan chiziqlar, ularga nisbatan egiluvchan elementlar qo'yiladi (asosiy boshidan bosh oxirigacha).
Asosiy o'lcham) - egiluvchan konteyner yoki moslashuvchan elementlarning kengligi yoki balandligi, qaysi asosiy o'lchovda bo'lsa, egiluvchan konteyner yoki egiluvchi elementning asosiy hajmini aniqlaydi.
O'zaro o'q- asosiy o'qga perpendikulyar o'q. U yon tomonga cho'ziladi.
Kross boshlanishi va kesishishi- egiluvchi elementlar joylashtirilgan o'zaro faoliyat o'qning bosh va oxirgi tomonlarini belgilaydigan chiziqlar.
O'zaro o'lcham- egiluvchan konteyner yoki egiluvchi buyumlarning kengligi yoki balandligi, qaysi biri ko'ndalang o'lchamda bo'lsa, ularning ko'ndalang o'lchami.
Guruch. 2. Qator va ustunlar rejimi
2. Moslashuvchan konteyner
Moslashuvchan konteyner uning mazmuni uchun formatlashning yangi moslashuvchan kontekstini o'rnatadi. Moslashuvchan konteyner blokli konteyner emas, shuning uchun CSS xususiyatlari, masalan, float, tiniq, vertikal tekislash bola elementlari uchun ishlamaydi. Bundan tashqari, egiluvchan konteynerga matnda ustunlar va :: birinchi qator va :: birinchi harfli soxta elementlar hosil qiluvchi ustun- * xossalari ta'sir qilmaydi.
Flexbox layout modeli, pastki qutilarini o'z ichiga olgan html elementining CSS displeyidagi ma'lum bir qiymatga bog'liq. Ushbu model yordamida elementlarni boshqarish uchun siz displey xususiyatini quyidagicha o'rnatishingiz kerak:
Flex-konteyner ( / * blok-darajali egiluvchan konteyner hosil qiladi * / displey: -webkit-flex; displey: egiluvchanlik). moslashuvchan; ko'rsatish: inline-flex;)
Ushbu xususiyat qiymatlarini o'rnatgandan so'ng, har bir bola avtomatik ravishda egiluvchan elementga aylanadi va bir qatorga (asosiy o'q bo'ylab) joylashadi. Biroq, blokirovka va inline bolalar xuddi shunday yo'l tutishadi, ya'ni. bloklarning kengligi elementning to'ldirilishi va chegaralarini hisobga olgan holda, ularning tarkibining kengligiga teng.
Guruch. 3. Flexbox modelidagi elementlarni tekislash
Agar asosiy blokda o'ralmagan matn yoki rasm bo'lsa, ular anonim moslashuvchan elementlarga aylanadi. Matn konteyner blokining yuqori chetiga tekislanadi va tasvir balandligi blok balandligiga teng bo'ladi, ya'ni. u deformatsiyalanadi.
3. Moslashuvchan elementlar
Moslashuvchan elementlar - bu oqimdagi egiluvchan konteyner tarkibini ifodalovchi bloklar. Moslashuvchan konteyner uning mazmuni uchun yangi formatlash kontekstini o'rnatadi, u quyidagi funktsiyalarni ta'minlaydi:
- Moslashuvchan elementlar uchun ularning ekran xususiyatining qiymati qulflanadi. Ko'rsatish qiymati: ichki blok; va ko'rsatish: jadval katakchasi; displeyda hisoblangan: blok; ...
- Elementlar orasidagi bo'sh joy yo'qoladi: hatto elementlar orasidagi matn anonim egiluvchi elementga o'ralgan bo'lsa ham, u o'zining egiluvchan elementiga aylanmaydi. Anonim moslashuvchan elementning mazmuni o'z -o'zidan tuzilishi mumkin emas, lekin u ularni moslashuvchan konteynerdan (masalan, shrift sozlamalari) meros qilib oladi.
- Mutlaqo joylashtirilgan egiluvchan element moslashuvchan tartibni tuzishda qatnashmaydi.
- Qo'shni egiluvchan elementlarning chegara maydonlari qulab tushmaydi.
- Marj va to'ldirish foizlari o'z ichiga olgan blokning ichki kattaligidan hisoblanadi.
- chegara: avtomatik; mos keladigan o'lchovda qo'shimcha joyni o'zlashtiradigan kengaytiring. Ular qo'shni moslashuvchan elementlarni tekislash yoki kengaytirish uchun ishlatilishi mumkin.
- Avtomatik minimal o'lcham moslashuvchan elementlar odatiy tarzda ularning tarkibining minimal hajmiga, ya'ni min-eniga: avtomatik; ... Konteynerlarni aylantirish uchun avtomatik minimal o'lcham odatda nolga teng.
4. Moslashuvchan elementlarning yo'nalishi va yo'nalishini ko'rsatish
Moslashuvchan konteyner tarkibini istalgan yo'nalishda va istalgan tartibda joylashtirish mumkin (konteyner ichidagi moslashuvchan elementlarni qayta tartibga solish faqat vizual ko'rsatishga ta'sir qiladi).
4.1. Asosiy o'q yo'nalishi: egilish yo'nalishi
Xususiyat moslashuvchan konteynerga xosdir. Asosiy o'qning yo'nalishini boshqaradi, uning bo'ylab egilish elementlari joriy yozish rejimiga muvofiq yig'iladi. Meros qilib olinmagan.
egilish yo'nalishi | |
---|---|
Qiymatlar: | |
qator | Standart - chapdan o'ngga (rtl, o'ngdan chapga). Moslashuvchan elementlar chiziq bo'ylab joylashtirilgan. Asosiy o'qning asosiy boshlanish va asosiy yo'nalish yo'nalishlari chiziqli o'qning inline-start va inline-endiga to'g'ri keladi. |
qator teskari | O'ngdan chapga yo'nalish (rtl -dan chapdan o'ngga). Moslashuvchan buyumlar konteynerning o'ng chetiga nisbatan chiziqda joylashtirilgan (rtl - chapda). |
ustun | Yuqoridan pastgacha yo'nalish. Moslashuvchan elementlar ustunga joylashtirilgan. |
ustun-teskari | Elementlar teskari tartibda, pastdan yuqoriga. |
boshlang'ich | |
meros qilib olmoq |
Guruch. 4. Chapdan o'ngga tillar uchun egiluvchan yo'nalish xususiyati
Sintaksis
Flex-konteyner (displey: -webkit-flex; -webkit-flex-yo'nalish: qator-teskari; ko'rsatish: egilish; egil-yo'nalish: qator-teskari;)
4.2. Moslashuvchan konteynerning ko'p chizig'ini boshqarish: egiluvchan o'rash
Xususiyat egiluvchan konteyner bir qatorli yoki ko'p chiziqli bo'lishini aniqlaydi, shuningdek, egiluvchan konteynerning yangi chiziqlari biriktiriladigan yo'nalishni belgilaydigan o'zaro o'qlar yo'nalishini belgilaydi.
Odatiy bo'lib, moslashuvchan elementlar bitta o'qda, asosiy o'q bo'ylab yig'iladi. Agar ular to'lib toshsa, ular egiluvchan konteynerning chegara qutisidan tashqariga chiqib ketadi. Mulk meros qilib olinmaydi.
Guruch. 5. LTR tillari uchun Flex-Wrap xususiyati bilan bir nechta satrlarni boshqarish
Sintaksis
Flex-konteyner (displey: -webkit-flex; -webkit-flex-wrap: wrap; displey: flex; flex-wrap: wrap;)
4.3. Yo'nalish va ko'p chiziqli stenografiya: egiluvchan oqim
Xususiyat sizga asosiy va ko'ndalang o'qlarning yo'nalishlarini, shuningdek, agar kerak bo'lsa, egiluvchan elementlarni bir nechta chiziqlar bo'ylab o'rash qobiliyatini aniqlash imkonini beradi. Bu egiluvchan yo'nalish va egiluvchan o'rash xususiyatlarining stenografiyasi. Standart egiluvchan oqim: qator hoziroq; ... mulk meros qilib olinmagan.
Sintaksis
Flex-konteyner (displey: -webkit-flex; -webkit-flex-flow: qatorni o'rash; displey: egiluvchanlik; egiluvchan oqim: qator o'rash;)
4.4. Moslashuvchan elementlarning tartibini ko'rsatish: buyurtma
Xususiyat egiluvchan elementlarning ko'rsatilishi va moslashuvchan konteyner ichida joylashish tartibini belgilaydi. Moslashuvchan elementlarga qo'llaniladi. Mulk meros qilib olinmaydi.
Dastlab, barcha moslashuvchan elementlar tartibga ega: 0; ... Agar siz element uchun -1 oralig'idagi qiymatni belgilasangiz, u vaqt jadvalining boshiga va oxirigacha 1 qiymatiga o'tadi. Agar bir nechta moslashuvchan elementlar bir xil buyurtma qiymatiga ega bo'lsa, ular asl tartibiga ko'ra ko'rsatiladi.
Sintaksis
Flex-konteyner (displey: -webkit-flex; displey: flex;) .flex-element (-webkit-order: 1; buyurtma: 1;)
Guruch. 6. Moslashuvchan elementlarning tartibini ko'rsatish
5. Moslashuvchan elementlarning egiluvchanligi
Moslashuvchan tartibni belgilovchi jihati - bu asosiy o'lchamdagi bo'sh joyni to'ldirish uchun egiluvchan elementlarni kengligi / balandligini o'zgartirib (kattaligiga qarab). Bu moslashuvchan xususiyat yordamida amalga oshiriladi. Moslashuvchan konteyner idishni to'ldirish uchun o'z bolalari o'rtasida bo'sh joy ajratadi (ularning egilish-o'sish nisbatiga mutanosib) yoki toshib ketishining oldini olish uchun ularni qisqartiradi (egiluvchanlik-qisqarish nisbatiga mutanosib).
Agar egiluvchanlik va egiluvchanlik qiymatlari nolga teng bo'lsa, egiluvchan element umuman egiluvchan bo'ladi.
5.1. Bir xususiyat bilan moslashuvchan o'lcham: egiluvchanlik
Bu egiluvchanlik, egiluvchanlik va egiluvchanlik xususiyatlarining qisqartmasi. Standart qiymat: flex: 0 1 auto; ... Siz bitta yoki uchta xususiyat qiymatini belgilashingiz mumkin. Mulk meros qilib olinmaydi.
Sintaksis
Flex-konteyner (displey: -webkit-flex; displey: flex;) .flex-element (-webkit-flex: 3 1 100px; -ms-flex: 3 1 100px; flex: 3 1 100px;)
5.2. O'sish tezligi: egilish-o'sish
Ijobiy bo'sh joy ajratilganda, egiluvchan konteynerdagi boshqa egiluvchan elementlarga nisbatan qancha egiluvchan element o'sishini nazorat qiladi. Agar ketma-ket egiluvchan elementlarning egiluvchan o'sish qiymatlari yig'indisi 1 dan kam bo'lsa, ular bo'sh joyning 100% dan kamini egallaydi. Mulk meros qilib olinmaydi.
Guruch. 7. Flex-grow yordamida navigatsiya panelidagi bo'sh joyni boshqarish
Sintaksis
Flex-konteyner (displey: -webkit-flex; displey: egiluvchanlik).
5.3. Qisqartirish nisbati: egilish-qisqarish
Xususiyat salbiy bo'sh joy ajratishda egiluvchan element boshqa egiluvchi elementlarga nisbatan qanchalik qisqarishini ko'rsatadi. Moslashuvchan tayanch o'lchamlari bilan ko'paytiriladi. Salbiy bo'shliq element qanchalik qisqarishi mumkinligiga mutanosib ravishda ajratiladi, shuning uchun, masalan, kichik egiluvchan element kattaroq egiluvchan element ko'rinmas darajada kamaymaguncha nolga kamaymaydi. Mulk meros qilib olinmaydi.
Guruch. 8. Moslashuvchan elementlarni ketma -ket toraytirish
Sintaksis
Flex-konteyner (displey: -webkit-flex; displey: flex;). Flex-element (-webkit-flex-shrink: 3; flex-shrink: 3;)
5.4. Baza o'lchami: egiluvchan asos
Moslashuvchanlik koeffitsientlari bo'yicha bo'sh joy ajratilmasdan oldin, egiluvchan elementning boshlang'ich asosiy o'lchamini belgilaydi. Avtomatik va kontentdan tashqari barcha qiymatlar uchun asosiy egiluvchanlik o'lchami gorizontal yozish rejimlarida kenglik bilan bir xil tarzda aniqlanadi. Foizlar egiluvchan konteynerning kattaligiga bog'liq va agar hech qanday o'lcham ko'rsatilmagan bo'lsa, egiluvchan asos uchun ishlatiladigan qiymat uning mazmuni kattaligidir. Meros qilib olinmagan.
Sintaksis
Flex-konteyner (displey: -webkit-flex; displey: egiluvchanlik).
6. Hizalama
6.1. Asosiy o'qni tekislash: tarkibni oqlash
Xususiyat egiluvchan elementlarni egiluvchi konteynerning asosiy o'qiga moslashtiradi va egiluvchi elementlar bo'sh joyni taqsimlaydi. Element egiluvchan konteynerga aylantirilganda, moslashuvchan elementlar sukut bo'yicha guruhlanadi (agar ular uchun chegaralar o'rnatilmagan bo'lsa). Marj va egiluvchan o'sish qiymatlari hisoblanganidan keyin interval qo'shiladi. Agar biror narsada nolga teng bo'lmagan egiluvchanlik yoki chegara bo'lsa: auto; , mulk hech qanday ta'sir ko'rsatmaydi. Mulk meros qilib olinmaydi.
Qiymatlar: | |
moslashuvchan boshlash | Standart qiymat. Moslashuvchan buyumlar egiluvchan idishning boshlang'ich chizig'idan uzoqda joylashgan. |
egilish | Moslashuvchan buyumlar egiluvchan idishning so'nggi chizig'idan uzoqda joylashgan. |
markaz | Moslashuvchan buyumlar egiluvchan idishning markaziga tekislanadi. |
oraliq | Moslashuvchan buyumlar chiziq bo'ylab teng taqsimlanadi. Birinchi egilish elementi boshlang'ich chizig'ining chetiga to'g'ri joylashtirilgan, oxirgi egiluvchan element oxirgi chiziqning chetiga to'g'ri keladi va chiziqdagi qolgan egiluvchan elementlar bir -biriga qo'shni ikkita element orasidagi bo'shliq bilan bo'shliqda joylashtirilgan. bir xil. Agar qolgan bo'sh joy manfiy bo'lsa yoki har bir satrda faqat bitta egiluvchi element bo'lsa, bu qiymat egiluvchan ishga tushirish parametri bilan bir xil bo'ladi. |
atrofida | Chiziqdagi egiluvchan elementlar bir -biriga ulashgan har qanday egiluvchan elementlar orasidagi masofa bir xil bo'lishi uchun ajratiladi va birinchi / oxirgi egiluvchi elementlar va egiluvchan idishning qirralari orasidagi masofa egiluvchan elementlar orasidagi masofaning yarmini tashkil qiladi. |
boshlang'ich | Xususiyat qiymatini standart qiymatiga o'rnatadi. |
meros qilib olmoq | Asosiy elementdan xususiyat qiymatini meros qilib oladi. |
Guruch. 9. Justify-Content xususiyatidan foydalanib, elementlarni tekislash va bo'sh joy ajratish
Sintaksis
Flex-konteyner (displey: -webkit-flex; -webkit-justify-content: flex-start; display: flex; justify-content: flex-start;)
6.2. O'zaro o'qlarni tekislash: elementlarni tekislang va o'z-o'zidan tekislang
Moslashuvchan elementlar egiluvchan konteynerning joriy qatorining kesma o'qiga moslashtirilishi mumkin. align-items barcha moslashuvchan konteyner elementlari, shu jumladan anonim moslashuvchan elementlar uchun moslashtirishni o'rnatadi. align-self individual moslashuvchan elementlar uchun bu hizalanishni bekor qilishga imkon beradi. Agar egiluvchan elementning ko'ndalang chekkalari avtomatik bo'lsa, o'z-o'zini tekislash hech qanday ta'sir ko'rsatmaydi.
6.2.1. Elementlarni tekislang
Moslashuvchan elementlarni, shu jumladan anonim egiluvchan elementlarni o'zaro o'q bo'ylab tekislaydi. Meros qilib olinmagan.
Qiymatlar: | |
moslashuvchan boshlash | |
egilish | |
markaz | |
boshlang'ich | Hizalama bilan shug'ullanadigan barcha moslashuvchan elementlarning asoslari bir xil. |
cho'zmoq | |
boshlang'ich | Xususiyat qiymatini standart qiymatiga o'rnatadi. |
meros qilib olmoq | Asosiy elementdan xususiyat qiymatini meros qilib oladi. |
Sintaksis
Flex-konteyner (displey: -webkit-flex; -webkit-align-items: flex-start; display: flex; align-items: flex-start;)
6.2.2. O'z-o'zini tekislash
Mulk bitta egiluvchan elementni egiluvchan idishning balandligiga moslashtirish uchun javobgardir. Hizalama elementlari tomonidan belgilangan hizalanishni bekor qiladi. Meros qilib olinmagan.
Qiymatlar: | |
avtomatik | Standart qiymat. Moslashuvchan element moslashuvchan konteynerning align-items xususiyatida ko'rsatilgan hizalamadan foydalanadi. |
moslashuvchan boshlash | Moslashuvchan elementning yuqori qirrasi egilish chizig'iga (yoki elementning belgilangan chegarasi va chegarasini hisobga olgan holda) kesma o'qning boshi bo'ylab tekis joylashtiriladi. |
egilish | Moslashuvchan elementning pastki qirrasi kesma o'qining oxiridan o'tuvchi egiluvchi chiziq bilan (yoki intervalli, elementning chegarasi va chegarasi bilan) bir tekisda joylashtiriladi. |
markaz | Moslashuvchan elementning chekkalari egilish chizig'ining kesma o'qida markazlashtirilgan. |
boshlang'ich | Moslashuvchan element asosiy chiziqqa moslashtirilgan. |
cho'zmoq | Agar egiluvchan elementning o'lchamlari avtomatik bo'lsa va o'zaro chegaralarning hech biri avtomatik bo'lmasa, element uzaytiriladi. Standart qiymat. |
boshlang'ich | Xususiyat qiymatini standart qiymatiga o'rnatadi. |
meros qilib olmoq | Asosiy elementdan xususiyat qiymatini meros qilib oladi. |
Guruch. 11. Shaxsiy egiluvchan elementlarni tekislang
Sintaksis
Flex-konteyner (displey: -webkit-flex; displey: egiluvchanlik).
6.3. Moslashuvchan konteyner qatorlarini tekislash: tarkibni tekislash
Xususiyat oqlash-kontent xususiyatidan foydalanib, asosiy o'qda alohida elementlarni tekislashga o'xshab, o'zaro o'qda qo'shimcha bo'sh joy bo'lganda, qatorlarni egiluvchan konteynerda tekislaydi. Xususiyat bir qatlamli egiluvchan konteynerga ta'sir qilmaydi. Meros qilib olinmagan.
Qiymatlar: | |
moslashuvchan boshlash | Chiziqlar egiluvchan idishning boshiga to'g'ri biriktirilgan. Birinchi qatorning chekkasi egiluvchan idishning chetiga yaqin joylashtiriladi, har bir keyingi chiziq oldingi qatorga yaqin joylashadi. |
egilish | Chiziqlar egiluvchan idishning oxirigacha yig'ilgan. Oxirgi chiziqning chekkasi egiluvchan idishning chetiga yaqin joylashtiriladi, har bir oldingi satr keyingi qatorga yaqin joylashadi. |
markaz | Chiziqlar egiluvchan idishning markaziga qarab yig'ilgan. Qatorlar bir -biriga yaqin va egiluvchan konteynerning o'rtasiga egiluvchi konteynerning boshlang'ich qismi bilan birinchi qator o'rtasida, va egiluvchan konteyner tarkibining oxirgi qirrasi bilan oxirgi qatori o'rtasida tenglashtirilgan. |
oraliq | Chiziqlar egiluvchan idishda teng ravishda joylashtirilgan. Agar qolgan bo'sh joy manfiy bo'lsa yoki egiluvchan konteynerda faqat bitta egilish chizig'i bo'lsa, bu qiymat egiluvchan start bilan bir xil bo'ladi. Aks holda, birinchi qatorning chekkasi egiluvchan konteyner tarkibining boshlang'ich chetiga yaqin joylashtiriladi va oxirgi chiziqning chekkasi egiluvchan konteyner tarkibining oxirgi chetiga yaqin joylashadi. Qolgan chiziqlar har qanday qo'shni ikkita chiziq orasidagi masofa bir xil bo'lishi uchun taqsimlanadi. |
atrofida | Chiziqlar egiluvchan idishda teng ravishda joylashtirilgan, har ikki uchida yarim bo'sh joy bor. Agar qolgan bo'sh joy manfiy bo'lsa, bu qiymat markazning sentiga teng bo'ladi. Aks holda, chiziqlar ikkita qo'shni chiziq orasidagi masofa bir xil bo'lishi uchun ajratiladi va birinchi / oxirgi chiziqlar va egiluvchan konteyner tarkibining qirralari orasidagi masofa chiziqlar orasidagi masofaning yarmini tashkil qiladi. |
cho'zmoq | Standart qiymat. Moslashuvchan elementlar qatori teng ravishda cho'zilib, bo'sh joyni to'ldiradi. Agar qolgan bo'sh joy manfiy bo'lsa, bu qiymat egiluvchan start bilan bir xil bo'ladi. Aks holda, bo'sh joy barcha chiziqlar o'rtasida teng taqsimlanadi va ularning lateral hajmini oshiradi. |
boshlang'ich | Xususiyat qiymatini standart qiymatiga o'rnatadi. |
meros qilib olmoq | Asosiy elementdan xususiyat qiymatini meros qilib oladi. |
Sintaksis
Flex-konteyner (displey: -webkit-flex; -webkit-flex-flow: qatorni o'rash; -webkit-align-content: flex-end; displey: egiluvchanlik; egiluvchan-oqim: qatorni o'rash; hizalamoq-tarkib: moslashuvchan-oxiri balandligi: 100 piksel;)
Flexboxlar veb-saytlarning keng qo'llanilishini yaratish uchun juda mos keladi, masalan, "ustun", "ustun" deb nomlangan, hamma ustunlar, tarkibidan qat'i nazar, to'liq balandlikda bo'lishi kerak. Bundan tashqari, ichida manba kodi Asosiy tarkib navigatsiyadan oldin keladi va sahifaning o'zida asosiy tarkib navigatsiyadan keyin keladi.
Shunga o'xshash.
Flexbox paydo bo'lishidan oldin, bunday maketni hech qanday xakerlarsiz olish juda qiyin edi. Ishlab chiquvchilar ko'pincha kontent hajmi yoki ekran o'lchamidan qat'i nazar, narsalarni to'g'ri joylashtirish uchun qo'shimcha belgilar qo'shish, salbiy chegaralarni qo'llash va boshqa fokuslar qilishlari kerak edi. Ammo, yuqoridagi misoldan ko'rinib turibdiki, flexbox ancha oson.
Bu erda kodning qisqacha mazmuni. Bu misolda, biz #main elementini egiluvchan konteynerga aylantiramiz va sarlavha va altbilgini blok elementlari sifatida qoldiramiz. Boshqacha aytganda, faqat o'rta qismi fleksboksga aylanadi. Mana, uni egiluvchan idishga aylantiradigan parcha.
#main (displey: egilish; min -balandlik: calc (100vh - 40vh);)
Moslashuvchan konteyner yaratish uchun faqat display: flex -dan foydalaning. Shuni ham unutmangki, biz min-balandlikni calc () funktsiyasi bilan o'rnatdik va #main-ni ko'rish balandligining 100% ga o'rnatdik. minus qopqoq va podvalning balandligi (har biri 20 vatt). Bu, tarkib oz bo'lsa ham, tartib ekranning to'liq balandligini egallashini ta'minlaydi. Natijada, agar kontent ekran balandligidan past bo'lsa, pastki qism hech qachon ko'tarilmaydi va bo'sh joy qoldirmaydi.
Minimal balandlikni hisoblash juda oson edi, chunki biz barcha elementlarga "box-sizeing: border-box" ni qo'lladik. Agar shunday qilmagan bo'lsak, biz ayirish uchun to'ldirish qiymatini yig'indiga qo'shishimiz kerak bo'ladi.
Moslashuvchan konteynerni o'rnatgandan so'ng, biz moslashuvchan elementlar bilan shug'ullanamiz.
#main> maqola (flex: 1;) #main> nav, #main> chetga (flex: 0 0 20vw; background: bej;) #main> nav (buyurtma: -1;)
Moslashuvchanlik-egiluvchanlik, egiluvchanlik va egiluvchanlik xususiyatlarining qisqartmasi. Birinchi holda, biz faqat bitta qiymatni yozdik, shuning uchun flex moslashuvchan o'sish xususiyatini o'rnatadi. Ikkinchi holda, biz uchta qiymatni yozdik
Align-content xususiyati bo'sh joy mavjud bo'lganda egiluvchan konteyner ichidagi chiziqlarni o'zaro faoliyat o'q bo'ylab tekislash turini belgilaydi.
Ga tegishli: egiluvchan konteyner.
Standart qiymat: cho'zish.
Flex-start chiziqlari o'zaro o'qning boshida joylashgan. Har bir keyingi satr avvalgisiga to'g'ri keladi. Flex-end Qatorlar o'zaro faoliyat o'qning oxiridan boshlab joylashtiriladi. Har bir oldingi satr keyingi satr bilan bir xil bo'ladi. markaziy chiziqlar konteyner ustida joylashgan. Chiziqlar orasidagi bo'shliq konteynerda teng ravishda joylashtirilgan va ular orasidagi masofa bir xil. Qator chiziqlar teng masofada joylashtirilgan, shuning uchun ikkita qo'shni chiziq orasidagi bo'shliq teng bo'ladi. Birinchi qatordan oldin va oxirgi satrdan keyin bo'sh joy ikkita qo'shni chiziq orasidagi bo'shliqning yarmiga teng. satrlar teng masofada joylashtirilgan. Birinchi qatordan oldin va oxirgi satrdan keyin bo'sh joy boshqa chiziqlar bilan bir xil. cho'zish Chiziqlar bo'sh joyni to'ldirish uchun teng ravishda cho'ziladi.
Tarkibni tekislash xususiyati moslashuvchan konteyner chizig'ini o'zaro o'qda qo'shimcha bo'sh joy bo'lganda tekislaydi, xuddi shunga o'xshash tarkibni asosiy o'qda qanday tekislashi kabi. E'tibor bering, bu xususiyat bir qatorli egiluvchan konteynerga ta'sir qilmaydi. Qadriyatlar quyidagi ma'nolarga ega:
Eslatma: faqat ko'p chiziqli egiluvchan konteynerlarda chiziqlarni tekislash uchun o'zaro o'qda bo'sh joy bo'ladi, chunki bitta chiziqli egiluvchan konteynerda bo'sh joy to'ldirish uchun avtomatik ravishda cho'ziladi.
Uchun amal qiladi: egiluvchan idishlar.
Boshlang'ich: cho'zish.
Flex-start chiziqlari egiluvchan konteyner boshlanishiga to'g'ri qadoqlangan. Moslashuvchan konteynerning birinchi chizig'ining kesishma qirrasi egiluvchan konteynerning kesishgan chetiga to'g'ri joylashtiriladi va har bir keyingi chiziq oldingi chiziq bilan bir tekisda joylashtiriladi. egiluvchan chiziqlar egiluvchan idishning oxirigacha qadoqlangan. Oxirgi satrning kesma qirrasi egiluvchan idishning kesma qirrasi bilan bir tekisda joylashtiriladi va oldingi har bir satr keyingi chiziq bilan tekis joylashtiriladi. markaziy chiziqlar egiluvchan idishning markaziga to'g'ri qadoqlangan. Moslashuvchan konteynerdagi chiziqlar bir-biriga tekis joylashtiriladi va egiluvchan idishning o'rtasiga tekislanadi, bunda egiluvchan konteynerning boshlang'ich qismi va egiluvchan konteynerning birinchi chizig'i o'rtasida teng miqdorda bo'sh joy bo'ladi. egiluvchan konteynerning kesishgan kontent qirrasi va egiluvchan konteynerdagi oxirgi satr. (Agar qolgan bo'sh joy manfiy bo'lsa, chiziqlar har ikki yo'nalishda ham bir xil darajada to'lib toshadi.) Chiziqlar orasidagi bo'shliq egiluvchi idishda teng taqsimlanadi. Agar qolgan bo'sh joy manfiy bo'lsa, bu qiymat egilishni boshlash bilan bir xil bo'ladi. Aks holda, egiluvchan konteynerning birinchi chizig'ining kesishma qirrasi egiluvchan konteynerning boshlang'ich tarkibi bilan bir tekisda joylashtiriladi, egiluvchan konteynerdagi oxirgi chiziqning kesma qirrasi xoch bilan bir tekisda joylashtiriladi. egiluvchan konteynerning oxirgi kontentining chekkasi va egiluvchan konteynerdagi qolgan chiziqlar, qo'shni ikkita chiziq orasidagi masofa bir xil bo'lishi uchun taqsimlanadi. Bo'shliq bo'ylab chiziqlar egiluvchan konteynerda teng taqsimlangan, har ikki uchida ham bo'shliqlar bor. Agar qolgan bo'sh joy manfiy bo'lsa, bu qiymat markaz bilan bir xil bo'ladi. Aks holda, egiluvchan konteynerdagi chiziqlar shunday taqsimlanganki, ikkita qo'shni chiziq orasidagi masofa bir xil bo'ladi va birinchi / oxirgi chiziqlar va egiluvchan konteyner qirralari orasidagi masofa egiluvchi chiziqlar orasidagi bo'shliqning yarmiga teng. bo'shliq-teng chiziqlar egiluvchi idishda teng taqsimlanadi. Agar qolgan bo'sh joy manfiy bo'lsa, bu qiymat markaz bilan bir xil bo'ladi. Aks holda, egiluvchan konteynerdagi chiziqlar shunday taqsimlanganki, har bir egilish chizig'i orasidagi masofa bir xil bo'ladi. cho'zish Qolgan joyni egallash uchun chiziqlar cho'ziladi. Agar qolgan bo'sh joy manfiy bo'lsa, bu qiymat egilishni boshlash bilan bir xil bo'ladi. Aks holda, bo'sh joy barcha chiziqlar o'rtasida teng taqsimlanadi va ularning o'lchamlari oshadi.
Men FlexBox haqida gapirishni xohlayman. Flexbox -layout moduli (moslashuvchan quti - "egiluvchan quti", hozirda W3C nomzodining tavsiyanomasi) ko'proq taklif qilishni maqsad qilgan. samarali usul konteyner elementlari orasidagi bo'sh joyning joylashishi, tekislanishi va taqsimlanishi, hatto ularning o'lchami noma'lum va / yoki dinamik bo'lsa ham (shuning uchun "egiluvchan" so'zi).
Moslashuvchan tartibning asosiy g'oyasi - bu konteynerga bo'shliqni yaxshiroq to'ldirish uchun elementlarning kengligi / balandligini (va tartibini) o'zgartirish imkoniyatini berish (ko'p hollarda har xil displeylar va ekran o'lchamlarini qo'llab -quvvatlash).Moslashuvchan konteyner bo'sh joyni to'ldirish uchun narsalarni cho'zadi yoki chegaradan chiqib ketishining oldini olish uchun narsalarni qisqartiradi.
Eng muhimi, flexbox tartibi an'anaviy sxemalardan farqli o'laroq yo'nalishdan mustaqildir (vertikal va gorizontal chiziqli elementlar).Oddiy tartib veb -sahifalar uchun juda yaxshi bo'lsa -da, u katta yoki murakkab ilovalarni qo'llab -quvvatlash uchun moslashuvchanlikka ega emas (ayniqsa, ekran yo'nalishini o'zgartirish, o'lchamini o'zgartirish, cho'zish, kichraytirish va hokazo)..
Chunki flexbox - bu bitta modul emas, balki butun modul, u ko'plab xususiyatlarni birlashtiradi.Ulardan ba'zilari konteynerga (asosiy element, aka moslashuvchan konteyner), boshqa xususiyatlar bolalarga yoki egiluvchan narsalarga tegishli bo'lishi kerak.
An'anaviy tartib blok va ichki elementlarning oqim yo'nalishlariga asoslangan bo'lsa, moslashuvchan tartib "egiluvchan oqim yo'nalishlari" ga asoslangan.
Flexbox
Asosan, elementlar asosiy o'q bo'ylab taqsimlanadi (boshidan boshigacha) yoki ko'ndalang o'qi bo'ylab (boshidan kesmasigacha).
asosiy o'q - egiluvchan elementlar yotqizilgan asosiy o'q.E'tibor bering, u gorizontal bo'lishi kerak, hammasi oqlash-tarkib sifatiga bog'liq.
asosiy boshlanish | main-end-egiluvchan buyumlar konteynerga asosiy boshlang'ich pozitsiyadan bosh joygacha joylashtiriladi.
asosiy o'lcham - tanlangan tayanch o'lchamiga qarab egiluvchan elementning kengligi yoki balandligi.Asosiy o'lchov elementning kengligi yoki balandligi bo'lishi mumkin.
ko'ndalang o'q - ko'ndalang o'qi asosiyga perpendikulyar.Uning yo'nalishi asosiy o'qning yo'nalishiga bog'liq.
o'zaro faoliyat | kesishma-egiluvchan chiziqlar buyumlar bilan to'ldirilgan va konteynerda o'zaro faoliyat boshlang'ich va kesishgan joydan joylashtirilgan.
xoch o'lchami - tanlangan o'lchamga qarab egiluvchan elementning kengligi yoki balandligi bu qiymatga teng.Bu xususiyat tanlangan o'lchamga qarab elementning kengligi yoki balandligiga mos keladi.
Xususiyatlari
ko'rsatish: moslashuvchan | inline-flex;
Moslashuvchan konteynerni belgilaydi (tanlangan qiymatga asoslangan inline yoki blok), uning barcha yaqin avlodlari uchun moslashuvchan kontekstni bog'laydi.
ko'rsatish: boshqa qiymatlar | egilish | inline-flex;
Yodingizda tuting:
CSS ustun ustunlari moslashuvchan konteyner bilan ishlamaydisuzuvchi, aniq va vertikal tekislash moslashuvchan elementlar bilan ishlamaydi
egilish yo'nalishi
Moslashuvchan konteynerning ota -onasidan oldin qo'llaniladi.
Asosiy o'qni asosiy o'qga o'rnatadi va shu bilan konteynerga joylashtirilgan egiluvchan elementlarning yo'nalishini ko'rsatadi.
egilish yo'nalishi: qator | qator teskari | ustun | ustun-teskari
qator (standart): ltr uchun chapdan o'ngga, rtl uchun o'ngdan chapga;
qator teskari: ltr uchun o'ngdan chapga, rtl uchun chapdan o'ngga;
ustun: qator bilan bir xil, yuqoridan pastgacha;
ustun-teskari: qator teskari o'xshash, pastdan yuqoriga.
egiluvchan o'rash
Moslashuvchan konteynerning ota -onasidan oldin qo'llaniladi.
Konteyner bitta chiziqli yoki ko'p chiziqli bo'lishini, shuningdek, o'zaro faoliyat o'qning yo'nalishini aniqlaydi, yangi chiziqlar qaysi yo'nalishda joylashishini aniqlaydi.
egiluvchan o'rash: nowrap | o'rash | teskari o'rash
nowrap (standart): ltr uchun bir qatorli / chapdan o'ngga, rtl uchun o'ngdan chapga;
o'rash: ltr uchun ko'p chiziqli / chapdan o'ngga, rtl uchun o'ngdan chapga;
o'rash-teskari: ltr uchun ko'p chiziqli / o'ngdan chapga, rtl uchun chapdan o'ngga.
egiluvchan oqim
Moslashuvchan konteynerning ota -onasidan oldin qo'llaniladi.
Bu asosiy va kesma o'qlarni birgalikda belgilaydigan egiluvchan yo'nalish va egiluvchan o'rash xususiyatlarining qisqartmasi.Standart qatorda, hozirda ketma -ket ketma -ketlik.
egiluvchan oqim< ‘flex-direction’> || < ‘Flex-wrap’>
asoslash-mazmun
Moslashuvchan konteynerning ota -onasidan oldin qo'llaniladi.
Asosiy o'qga nisbatan hizalanishni aniqlaydi.Chiziq elementlari "cho'zilmasa" yoki cho'zilmasa ham, lekin ularning maksimal hajmiga etib kelgan bo'lsa, bo'sh joy ajratishga yordam beradi.Bu, shuningdek, ob'ektlar chiziqdan chiqib ketganda, ularning hizalanishini nazorat qilishga imkon beradi.
justify-content: flex-start | flex-end | markazi | orasidagi bo'shliq | atrofida
flex-start (standart): elementlar satr boshiga siljiydi;
flex-end: elementlar satr oxirigacha suriladi;
markaz: elementlar chiziq o'rtasiga tekislanadi;
oraliq: elementlar bir tekis joylashtirilgan (birinchi element satr boshida, oxirgisi oxirida)
bo'sh joy: ob'ektlar bir-biridan teng masofada joylashtirilgan va chiziq tashqarisida.
asoslash-mazmun
moslashtirish elementlari
Moslashuvchan konteynerning ota -onasidan oldin qo'llaniladi.
Moslashuvchan elementlar joriy chiziqdagi o'zaro faoliyat o'qga nisbatan qanday joylashtirilganligi uchun odatiy xatti -harakatni belgilaydi.Buni oqlash mazmunining (asosiy o'qga perpendikulyar) o'zaro o'qli versiyalari deb o'ylang.
align-items: flex-start | flex-end | markazi | boshlang'ich | cho'zmoq
flex-start: kesishish holatida joylashgan elementlar uchun o'zaro faoliyat chegara;
flex-end: kesishgan holatda joylashgan buyumlar uchun kesishma chegarasi;
markaz: ob'ektlar o'zaro faoliyat o'qning markaziga tekislanadi;
boshlang'ich: elementlar ularning boshlang'ich chizig'iga moslashtirilgan;
cho'zish (standart): elementlar konteynerni to'ldirish uchun cho'ziladi (min-en / max-width).
moslashtirish elementlari
hizalanish-kontent
Moslashuvchan konteynerning ota -onasidan oldin qo'llaniladi. O'zaro o'qda bo'sh joy bo'lganda egiluvchan konteyner qatorlarini tekislaydi, xuddi asosiy o'qda qanday asoslanish mavjud bo'lsa. Eslatma: Bu xususiyat bir qatorli fleks qutilari bilan ishlamaydi.
align-content: flex-start | flex-end | markazi | orasidagi bo'shliq | atrofida bo'sh joy | cho'zmoq
flex-start: chiziqlar idishning boshlanishiga nisbatan hizalanadi;
flex-end: chiziqlar idishning oxiriga nisbatan hizalanadi;
markaz: chiziqlar idishning markaziga tekislanadi;
oraliq oralig'i: chiziqlar bir tekis joylashtirilgan (birinchi satr satr boshida, oxirida)
oraliq-atrof: chiziqlar teng masofada teng ravishda joylashtirilgan;
cho'zish (standart): bo'sh joyni to'ldirish uchun chiziqlar cho'ziladi.
hizalanish-kontent
buyurtma
Odatiy bo'lib, moslashuvchan elementlar asl tartibida joylashtirilgan.Shu bilan birga, buyurtma xususiyati ularni idishga joylashtirish tartibini boshqarishi mumkin.
buyurtma 1
egiluvchanlik
Bola / moslashuvchan elementdan oldin qo'llaniladi. Moslashuvchan elementning kerak bo'lganda "o'sishi" qobiliyatini aniqlaydi.O'lchovsiz qiymat oladi, mutanosiblik vazifasini bajaradi.Bu element konteyner ichidagi qancha bo'sh joyni olishi mumkinligini aniqlaydi. Agar hamma narsaning egiluvchanligi 1 ga o'rnatilgan bo'lsa, har bir bola konteyner ichida bir xil o'lchamga ega bo'ladi.Agar siz avlodlardan birini 2 ga qo'ygan bo'lsangiz, u boshqalarga qaraganda ikki baravar ko'p joy egallaydi.
egiluvchanlik
egiluvchanlik
Bola / moslashuvchan elementdan oldin qo'llaniladi.
Moslashuvchan elementning kerak bo'lganda qisqarish qobiliyatini aniqlaydi.
egiluvchanlik
Salbiy raqamlar qabul qilinmaydi.
egiluvchan asos
Bola / moslashuvchan elementdan oldin qo'llaniladi. Konteynerda joy ajratishdan oldin element uchun standart hajmni aniqlaydi.
egiluvchan asos
egilmoq
Bola / moslashuvchan elementdan oldin qo'llaniladi. Bu egiluvchanlik, egiluvchanlik va egiluvchanlik uchun stenografiya.Ikkinchi va uchinchi parametrlar (egiluvchan-qisqaruvchi, egiluvchan asosli) ixtiyoriy.Standart - 0 1 avtomatik.
moslashuvchan: yo'q | [< ‘Flex-grow «> <» flex-shrink’>? || < ‘Flex-basis’>]
o'z-o'zini tekislash
Bola / moslashuvchan elementdan oldin qo'llaniladi. Shaxsiy moslashuvchan elementlar uchun odatiy hizalanish yoki moslashtirish elementlarini bekor qilish imkonini beradi. Mavjud qiymatlarni yaxshiroq tushunish uchun align-items xususiyatining tavsifiga qarang.
align-self: avtomatik | moslashuvchan boshlash | flex-end | markazi | boshlang'ich | cho'zmoq
Misollar
Deyarli har kuni sodir bo'ladigan juda oddiy misoldan boshlaylik: aynan markazga tekislang.Flexbox -dan foydalanish oson emas edi.
Ota -ona (displey: egiluvchan; balandligi: 300 piksel;). Bola (kengligi: 100 piksel; / * etarlicha yaxshi * / balandligi: 100 piksel; / * yaxshi yaxshi * / chegarasi: avtomatik; / * sehrli! * /)
Bu misol, egiluvchan konteyner ostidagi, avtomatik sozlangan bo'sh joy, qo'shimcha joyni yutib yuborishiga asoslanadi, shuning uchun to'ldirish vazifasi elementni ikkala o'qning markaziga to'g'ri tekislaydi. Endi ba'zi xususiyatlardan foydalanamiz.Tasavvur qiling, 6 ta sobit o'lchamli elementlar to'plami (go'zallik uchun), lekin idishning hajmini o'zgartirish qobiliyati bilan.Biz ularni gorizontal ravishda teng taqsimlamoqchimiz, shunda brauzer oynasi o'lchamini o'zgartirganda hamma narsa yaxshi ko'rinadi ( @ media so'rovlari yo'q!).
Flex-konteyner (
/ * Birinchidan, moslashuvchan kontekst yarating * /
ko'rsatish: moslashuvchan;
/ * Endi oqim yo'nalishini aniqlang va biz elementlarni xohlaymizmi
yangi qatorga o'ralgan
* Esda tutingki, bu bir xil:
* Moslashuvchan yo'nalish: qator;
* Flex-o'rash: o'rash;
* /
egiluvchan oqim: qatorni o'rash;
/ * Keling, joy qanday ajratilishini aniqlaylik * /
}
Tayyor. Qolganlarning hammasi ro'yxatga olish masalasidir. Keling, boshqa narsani sinab ko'raylik.Tasavvur qiling-a, biz saytimizning yuqori qismida o'ng tomonga yo'naltirilgan navigatsiyani xohlaymiz, lekin biz uni o'rta ekranlar uchun markazga to'g'ri kelishini va kichik ekranlar uchun bitta ustun bo'lishini xohlaymiz.Hammasi etarlicha sodda.
/ * Katta ekranlar * /
.avigatsiya (
ko'rsatish: moslashuvchan;
egiluvchan oqim: qatorni o'rash;
/ * Elementlarni asosiy o'q bo'ylab chiziq oxiriga o'tkazadi * /
justify-content: flex-end;
}
barcha media va (maksimal kenglik: 800 piksel) (
.avigatsiya (
/ * O'rta kattalikdagi ekranlar uchun biz navigatsiyani markazga tekislaymiz,
bo'sh joyni elementlar o'rtasida teng taqsimlash * /
justify-content: bo'sh joy-atrofida;
}
}
/ * Kichik ekranlar * /
barcha ommaviy axborot vositalari va (maksimal kenglik: 500 piksel) (
.avigatsiya (
/ * Kichik ekranlarda biz chiziq o'rniga elementlarni joylashtiramiz * /
egilish yo'nalishi: ustun;
}
}
Keling, moslashuvchan elementlarning moslashuvchanligi bilan o'ynaymiz!To'liq kenglikdagi sarlavha va altbilgiga ega bo'lgan, mobil uchun qulay bo'lgan uch ustunli tartib haqida nima deyish mumkin?Va boshqa tartibda.
O'rash (
ko'rsatish: moslashuvchan;
egiluvchan oqim: qatorni o'rash;
}
/ * Barcha elementlarni 100% kenglikka o'rnating * /
.bosh, asosiy, .nav, yon, .oyoq (
egiluvchanlik 1100%;
}
/ * Bunday holda, biz nishonga olishning asl tartibiga tayanamiz
* Mobil qurilmalar:
* 1 sarlavha
* 2 nav
* 3 ta asosiy
* 4 chetga
* 5 taglik
* /
/ * O'rta ekranlar * /
barcha media va (min-kengligi: 600 piksel) (
/ * Ikkala yon panel ham bir qatorda * /
.yoki (egiluvchan: 1 avtomatik;)
}
/ * Katta ekranlar * /