Junior
როგორ დავაყენოთ flexbox-ის თვისებები?
sobes.tech AI
პასუხი AI-სგან
განსაზღვრება თვისებები კონტეინერს (ელემენტს, რომელსაც აქვს display: flex ან display: inline-flex) და მის პირდაპირ შვილებს (შიგნით არსებული ელემენტებს).
კონტეინერის თვისებები:
display: განსაზღვრავს, რომ ელემენტი არის ფლექს-კონტეინერი. შესაძლო მნიშვნელობები:flex(ბლოკური) დაinline-flex(სიტყვიერი).flex-direction: განსაზღვრავს მთავარი ღერძის მიმართულებას, სადაც განთავსებული იქნება ფლექს-ელემენტები. შესაძლო მნიშვნელობები:row(ნაგულისხმევი, მარცხიდან მარჯვნივ),row-reverse(მარჯვნიდან მარცხნივ),column(ზევიდან ქვემოთ),column-reverse(ქვემოდან ზევით).flex-wrap: მართავს ფლექს-ელემენტების გადატანას ახალ ხაზზე, თუ ისინი გადიან კონტეინერის საზღვრებს. შესაძლო მნიშვნელობები:nowrap(ნაგულისხმევი, გადატანა არ ხდება),wrap(გადატანა ახალ ხაზზე),wrap-reverse(გადატანა ახალ ხაზზე обратным წესით).justify-content: იწონებს ფლექს-ელემენტებს მთავარი ღერძის გასწვრივ. შესაძლო მნიშვნელობები:flex-start(კონტეინერის დასაწყისი),flex-end(კონტეინერის ბოლო),center,space-between(თითოეულ ელემენტს შორის თანაბარი სივრცე, პირველი დასაწყისში, ბოლო ბოლოს),space-around(თითოეულ ელემენტს გარშემო თანაბარი სივრცე).align-items: იწონებს ფლექს-ელემენტებს გადატანითი ღერძის გასწვრივ. შესაძლო მნიშვნელობები:stretch(ნაგულისხმევი, ელემენტები იწელება კონტეინერის სიმაღლეზე),flex-start(კონტეინერის დასაწყისი),flex-end(კონტეინერის ბოლო),center,baseline(ტექსტის ბაზის ხაზზე იწონება).align-content: იწონებს ფლექს-ელემენტების ხაზებს (როდესაც გამოიყენებაflex-wrap) გადატანითი ღერძის გასწვრივ. არ მოქმედებს, თუ მხოლოდ ერთი ხაზი. შესაძლო მნიშვნელობები:stretch(ნაგულისხმევი),flex-start,flex-end,center,space-between,space-around.gap,row-gap,column-gap: განსაზღვრავს მანძილს ფლექს-ელემენტებს შორის მთავარი და გადატანითი ღერძის მიმართულებით.
ელემენტებისთვის (ფლექს-კონტეინერის პირდაპირი შვილი) განკუთვნილი თვისებები:
order: განსაზღვრავს ელემენტის განლაგების წესს კონტეინერში. ნაგულისხმევად ყველა ელემენტს აქვსorder: 0. ნაკლები მნიშვნელობისorderელემენტები განლაგდება წინ.flex-grow: განსაზღვრავს, რამდენჯერ შეიძლება ელემენტი გაიზარდოს სხვა ელემენტებთან შედარებით თავისუფალი სივრცის არსებობის შემთხვევაში. ნაგულისხმევად0(არ იზრდება).flex-shrink: განსაზღვრავს, რამდენჯერ შეიძლება ელემენტი შემცირდეს სივრცის ნაკლებობის შემთხვევაში. ნაგულისხმევად1(მცირდება).flex-basis: განსაზღვრავს საწყის ზომას ელემენტის, სანამ თავისუფალი სივრცის განაწილება მოხდება. შეიძლება იყოს პიქსელებში, პროცენტებში ანauto. ნაგულისხმევადauto.flex: მოკლე თვისებაflex-grow,flex-shrinkდაflex-basis-ისათვის. მაგალითად,flex: 1 1 auto;.align-self: გადამწყვეტსalign-items-ის მნიშვნელობას კონკრეტული ელემენტისთვის. შესაძლო მნიშვნელობები:auto(გამოყენებს მშობლისalign-items-ს),stretch,flex-start,flex-end,center,baseline.
მაგალითი:
.flex-container {
display: flex; /* ვქმნით ელემენტს ფლექს-კონტეინერად */
flex-direction: row; /* განლაგება რიგში */
justify-content: center; /* განლაგება მთავარი ღერძის ცენტრში */
align-items: center; /* განლაგება გადატანითი ღერძის ცენტრში */
gap: 10px; /* მანძილი ელემენტებს შორის */
}
.flex-item {
flex-grow: 1; /* ელემენტი შეიძლება გაიზარდოს */
flex-basis: 100px; /* საწყისი ზომა */
}
.special-item {
order: -1; /* ეს ელემენტი იქნება პირველზე */
align-self: flex-end; /* გადამწყვეტი განლაგება გადატანითი ღერძის მიხედვით */
}