Flexbox ir jaudīgs CSS izkārtojuma modulis, kas palīdz efektīvi izmantot konteinerā pieejamo vietu. Šajā pamācībā uzzināsiet, kā vienmērīgi izvietot atvasinātos elementus elastīgajā konteinerā. Tas ir īpaši noderīgi responsīvajos dizainos , kur loga platums var mainīties. Lūk, ķersimies klāt!

Galvenās atziņas

  • Flexbox ļauj vienmērīgi sadalīt pakārtotos elementus izkārtojumā, attiecīgi iestatot elementu flex vērtības.
  • Varat elastīgi pielāgot pakārtoto elementu platumu un augstumu, lai tie automātiski pielāgotos pieejamai vietai, neizmantojot fiksētus izmērus.

Soli pa solim

Lai saprastu, kā vienmērīgi sadalīt pakārtotos elementus elastīgajā konteinerā, izpildiet šos soļus:

Vispirms izveidojiet elastīgu konteineru, piemērojot CSS īpašību display: flex;. Šeit varat skatīt vienkāršu piemēru, kā to izdarīt. Pārliecinieties, ka konteiners ir izlīdzināts rindas formātā:

Flexbox izkārtojums: kā vienmērīgi sadalīt bērnu elementus

Šādā stāvoklī vieta tiek vienmērīgi sadalīta starp visiem atvasinātajiem elementiem, ja vien šiem atvasinātajiem elementiem nav fiksēta platuma. Ja palīgelementiem iestatīsiet platumu un pēc tam iestatīsiet tiem 100 pikseļu platumu, tie konteinerā sadalīsies vienmērīgi, taču tas nav optimāli responsīvam dizainam:

Flexbox izkārtojums: kā vienmērīgi sadalīt bērnu elementus

Ja atcelsiet fiksētos platumus, ātri redzēsiet, ka vieta ir ievērojami samazinājusies, jo īpaši, ja atvasinātajos elementos nav teksta. Šādā gadījumā viss sabrūk līdz minimālajam platumam, ko nosaka teksts:

Flexbox izkārtojums: kā vienmērīgi sadalīt bērnu elementus

Lai vienmērīgi sadalītu pieejamo vietu, ir jānosaka elastīguma vērtība atvasinātajiem elementiem. To ērti izdarīt, piemērojot īpašību flex, kas ļauj noteikt proporcionālu pieejamās vietas daļu. Iestatiet katra atvasinātā elementa flex vērtību 1:

Pēc tam, kad to būsiet izdarījuši, redzēsiet, ka visiem pakārtotajiem elementiem telpa ir sadalīta vienmērīgi. Šis ir ļoti elastīgs risinājums, jo tas dinamiski pielāgojas konteinera platumam:

Flexbox izkārtojums: kā vienmērīgi sadalīt bērnu elementus

Lai izveidotu dažādas proporcijas, varat arī mainīt elastīguma vērtības. Piemēram, ja vēlaties, lai pirmajam elementam tiktu atvēlēta puse vietas, varat iestatīt tam flex: 2;, bet pārējiem elementiem saglabāt flex: 1;:

Pēc vērtību pielāgošanas atvasinātie elementi tiek sadalīti atbilstoši iestatītajām vērtībām. Jūsu piešķirto elastīgo proporciju dēļ pirmajam elementam tiek atvēlēts vairāk vietas nekā pārējiem:

Flexbox izkārtojums: kā vienmērīgi sadalīt bērnu elementus

Ja tiek mainīts konteinera platums, proporcijas paliek nemainīgas. Neatkarīgi no tā, vai platumu maināt uz 800 pikseļiem vai 400 pikseļiem, pakārtotie elementi automātiski pielāgojas un vienmērīgi sadala vietu, pamatojoties uz iepriekš noteiktajām elastīgajām vērtībām:

Flexbox izkārtojums: kā vienmērīgi sadalīt bērnu elementus

Varat arī viegli pielāgot fleksibloka īpašības, mainot īpašību flex-direction. Piemēram, ja maināt elastīgo konteineru no rindas uz kolonnu, sadalījuma loģika paliek nemainīga. Tad pakārtotie elementi tiek izkārtoti vertikāli:

Flexbox izkārtojums: kā vienmērīgi sadalīt bērnu elementus

Lai saglabātu elastību, pārliecinieties, ka pakārtoto elementu augstums nav fiksēts. Tas īpaši labi darbojas responsīvajos dizainos, jo pakārtotie elementi pielāgojas atkarībā no ekrāna izmēra un orientācijas:

Flexbox izkārtojums: kā vienmērīgi sadalīt bērnu elementus

Šādā veidā varat izveidot īpaši responsīvu izkārtojumu, nodrošinot, ka jūsu dizains izskatās lieliski gan datorā, gan mobilajā ierīcē.

Kopsavilkums

Šajā pamācībā jūs uzzinājāt, kā CSS un HTML formātā izmantot Flexbox, lai vienmērīgi sadalītu pakārtotos elementus. Pateicoties flexbox īpašībām, varat izveidot responsīvus izkārtojumus, kas nevainojami pielāgojas dažādiem ekrāna izmēriem un formātiem.

Biežāk uzdotie jautājumi

Kas ir Flexbox?Flexbox ir CSS izkārtojuma modulis, kas vienkāršo elementu izkārtojumu konteinerā.

Kā izmantot Flexbox?Konteinerim iestatiet CSS īpašību display: flex; un izmantojiet flex pakārtotajiem elementiem, lai noteiktu to daļu no pieejamās vietas.

Vai Flexbox var izmantot responsīviem dizainparaugiem?Jā, Flexbox ir ideāli piemērots responsīviem dizainparaugiem, jo pakārtotie elementi dinamiski pielāgojas konteinera izmēram.