Flexbox düzenleri uygular. Flexbox'ın iş için çok sayıda kahverengi stoğu var. Ana eksenin düz bir çizgisinde Vivnyuvannya esnek elemanlar

Hizalama içeriğinin gücü, boş alanın görünürlüğü için enine eksen boyunca esnek kabın ortasındaki satırın görünüm türünü belirler.

kadar dur: esnek kap.

kilit için önemi: Uzatmak.

Flex-start Sıralar, enine eksenin koçanı üzerine serilir. İlerleyen sıranın derisi önden zamanında gitti. flex-end Satırlar, enine eksenin sonundan başlayarak düzenlenir. Deri ön sıra, gelmesiyle tam zamanında. center Satırlar kabın ortasına yayılır. boşluk-arası Sıralar kaplarda eşit aralıklarla yerleştirilmiştir ve sıralar aralarında aynıdır. space-around Satırlar böyle bir sırada eşit olarak bölünür, böylece iki sucid satır arasındaki boşluk aynı olur. İlk sıranın önündeki ve kalan sıradan sonraki boşluk, iki kort sırası arasındaki boşluğun yarısı kadar tamamlanır. space-evenly Satırlar eşit aralıklarla yerleştirilmiştir. İlk satırın önündeki boş alan ve kalan satırdan sonra diğer satırlarla aynı genişlikte. streç Sıralar eşit bir şekilde uzanır ve ferahlığı doldurur.

Zayıf içerik özelliği, çapraz eksende fazladan boşluk olduğunda esnek kap içindeki çizgileri hizalar, yaslama içeriğinin ana eksen içindeki tek tek öğeleri hizalamasına benzer. Bu özelliğin tek satırlı esnek kapsayıcı için geçerli olmadığını unutmayın. Değerler aşağıdaki anlamlara sahiptir:

Not: Yalnızca çok hatlı esnek kaplar, hatların hizalanması için çapraz eksende boş alana sahiptir, çünkü tek hatlı esnek kapta tek hat, boşluğu doldurmak için otomatik olarak gerilir.

Şunlar için geçerlidir:: esnek kaplar.

İlk: Uzatmak.

Flex-start Hatları, esnek konteynerin başlangıcına kadar paketlenmiştir. Esnek kaptaki ilk satırın çapraz başlangıç ​​kenarı, esnek kabın çapraz başlangıç ​​kenarı ile aynı hizada yerleştirilir ve sonraki her satır, önceki satırla aynı hizada yerleştirilir. esnek kabın sonuna kadar paketlenmiş esnek uç Hatlar. Çizginin çapraz kenarı, esnek kabın çapraz ucuyla aynı hizada yerleştirilir ve önceki her çizgi, sonraki çizgiyle aynı hizada yerleştirilir. Merkez Hatları є paketlenmiş esnek kap. Esnek kaptaki çizgiler є birbiriyle aynı hizada yerleştirilmiş ve esnek kabın çapraz başlangıç ​​içerik kenarı ile esnek kaptaki ilk çizgi arasında ve çapraz kap arasında eşit miktarda boşluk olacak şekilde esnek kabın ortasına hizalanmıştır. esnek kabın son içerik kenarı ve esnek kaptaki son satır. (Ayrıca arta kalan boş alan negatiftir, çizgiler her iki yönde de eşit olarak taşar.) boşluk-arası Çizgiler esnek kapta eşit olarak dağıtılır. Ayrıca arta kalan boş alan negatifi bu değer esnek başlatma ile aynıdır. Diğer tarafta, esnek kaptaki ilk satırın çapraz başlangıç ​​kenarı, esnek kaptaki çapraz başlangıç ​​içerik kenarı ile aynı hizada yerleştirilir, esnek kaptaki son satırın çapraz uç kenarı, esnek kabın çapraz uç içerik kenarı ve esnek kapta kalan satırlar, herhangi iki bitişik satır arasındaki boşluk aynı olacak şekilde dağıtılır. boşluklu Çizgiler є her iki ucunda da yarım boyutlu boşluklar olacak şekilde esnek kap içinde eşit olarak dağıtılır. Artan boş alan negatif olduğu gibi bu değer de merkez ile aynıdır. Ek olarak, esnek kaptaki çizgiler, herhangi 2 bitişik çizgi arasındaki boşluk aynı olacak ve ilk/son çizgiler ile esnek kap kenarları arasındaki boşluk, esnek çizgiler arasındaki boşluğun yarısı büyüklüğünde olacak şekilde dağıtılır. boşluk eşit Çizgiler є esnek kapta eşit olarak dağıtılır. Artan boş alan negatif olduğu gibi bu değer de merkez ile aynıdır. Ek olarak, esnek kaptaki çizgiler, her esnek çizgi arasındaki boşluk aynı olacak şekilde dağıtılır. streç Çizgiler kalan alanı uzatır. Ayrıca kalan boş alan negatiftir, bu değer flex-start ile aynıdır. Іnshiyvihіd, Boş alan, bizim aramızda linіyami, udoskonalyuyuchi їх çapraz boyut arasında eşit olarak bölünür.

Hiçbir şey durmuyor, teknolojiler ve standartlar geliştiriliyor, yeni site düzeni yöntemleri tanıtılıyor, örneğin tablo öğeleriyle yerleşim, nesnel nedenleri dikkate almamamıza rağmen, yüzer öğelerle yerleşim düzeniyle değiştirildi.

Kilitleme kodundaki zengin editörlerde veya yakalama için mevcut olan Emmet İsveççe işaretlemesi için manuel bir eklentide, buttstock'un ana işaretlemesinin aşağıdaki sırayla yapılmasına izin verir: bölüm>div*3>lorem+ Sekme (değer bilgi aşağıdaki resimde gösterildiği gibi metin oluşturur.

Saygı kazanmak için, herhangi bir özel zusil bildirmeden, aynı yükseklikteki düzenimizin sütunlarının yerlerini bağımsız olarak yerlerine yerleştirmeyi kaldırdık ve bu mucize. element

ter içinde zamovchuvannya esnek elemanlar ve roztashovani için değil üçüncü eleman

birincil blok öğeleri olarak. Sizin için gerekliyse, o zaman onları esnek elemanlarla inşa etmek, tahmin edebileceğiniz gibi, babanızın blokta olanı (esnek) veya hadi (inline-flex) esnek kapsayıcıyı kurması gerekir, ancak bu konuda saldırgan bir popo .

Kıçımızın sonucu:

Sıralı esnek kap

Blok elemanlarına benzeterek, esnek kaplar küçük olabilir. Blok olanlar gibi küçük esnek kapların kullanımının neden düşünüldüğüne bir göz atalım. Ön popoda, ekranın tüm genişliğini kaplayan ve bloğa eşit birincil eleman olarak hareket eden birincil blok elemanı olarak muzaffer blok konteynerine baktık. Küçük esnek kaplar olduğu anda, kokular, öğelerin kırılganlığına dikkat ederek en önemli unsurlar haline gelir.

Saldıran bir popoda, görünürlüğü görebiliriz, ön popo gösterilmez, alt esnek elemanların genişletmek için açık görevleri yoktur ve bir hatırlatma olarak, konteynerimizin küçük veya bloklu olması gerekir. ve ekranın tüm genişliğini kaplar .

Esnek kaplardaki satır içi esnek kapların görünümü.

Kimin izmaritleri yayıldı 2 küçük ben 2 blok esnek kaplar, bunların ortasına dünya göre yerleştirildi beş elementler

otomatik olarak esnek öğeler haline geldi. Ayrıca onlar için genişlik ve yüksekliği eşit olarak belirledik. 50 piksel.

Yardım için hızlı bir şekilde benzer bir düzen oluşturmak için Emmet editörün adımında şunu yazın: div.inline-flex*2>div*5 + Tab ve alt sınıf div.flex*2>div*5 + Tab ile aynı.

Uygulamamızın sonucuna bir göz atın, küçük ve blok esnek kaplar arasındaki fark artık sizin için açık olabilir. Bir satır kapsayıcı, bir alt öğe gibi davranır ve genişliği kaplar, yalnızca alt esnek öğelere ihtiyaç duyar ve alt esnek öğelerinin genişlemesini merak etmeyen bir blok esnek kap, ekranın tüm genişliğini kaplar.

Kıçımızın sonucu:

Pirinç. 205 Esnek kaplardaki satır içi esnek kapların kapasitesinin sonu.

Dümdüz? Ne yönü?

Doğrudan esnek elemanlar iki eksenin konumundan oluşturulur: baş aks konteyner flex ta yoga enine eksen, yak zavzhdi roztashovuєtsya kafaya dik. Kafa kafaya dümdüz ileri ltr (küresel HTML özelliği dir veya CSS gücü ltr değerleriyle yön) solaktır ve enine - aşağı doğru (değer kilidin arkasındadır), rtl değeri için ayna benzeridir.

FlexBox hakkında daha fazla bilgi edinmek istiyorum. Flexbox yerleşim modülü (esnek kutu - "esnek blok", şu anda W3C Aday Önerisi) verimli yol düzen, virіvnyuvannya bu rozpodіlu vіlnogo mіstsya mіzh öğelerini kapta, navіt ise neіdomy ve / аbo dinamik (zvіdsi kelimesi "gnuchkiy") ise navіt.

Kabın üstündeki esnek yerleşimin ana fikri, en kısa alan doldurma için elemanlarının genişliğini/yüksekliğini (sırasıyla) değiştirmek (daha fazla görünüm için - ekranın tüm görünümlerini ve boyutunu geliştirmek için) ekranlar).Boş alanı doldurmak için elemanları geren veya kordonun ötesine geçmemek için sıkıştıran esnek kap.

Daha da önemlisi, esnek kutu düzeni, normal düzenler biçiminde doğrudan pencereye yerleştirilemez (bloklar dikey olarak düzenlenir ve çevrimiçi öğeler yatay olarak düzenlenir).O saatte, normal düzen web sayfaları için uygun olduğundan, harika veya katlama programlarını desteklemek için esnekliği kullanmanıza gerek yoktur (özellikle ekran yönünü değiştirme, boyutu değiştirme, genişletme, kabartma yapma hakkına ulaşırsanız). ince).

Çünkü flexbox - kendi kişisel olmayan gücü içinde tek bir güç değil, tüm modül.Bunların eylemleri konteynere zastosovuvatsya'dan (Batkiv elementi, esnek-konteyner olarak adlandırılır) ve diğer yetkililerden çocuk elementlere veya esnek elementlere zastosovuyutsya'dan suçludur.

Orijinal yerleşim nasıl blok ve satır içi öğelerin doğrudan akışına dayanıyorsa, esnek yerleşim de esnek akışın doğrudan akışına dayalıdır.

esnek kutu

Ana elemanda, kafa ekseni (ana-başlangıçtan ana-uca) veya çapraz eksen havası (çapraz başlangıçtan çapraz uca) bölünebilir.

ana eksen - ana eksen, esnek elemanların nasıl sıralanacağı.Saygı duyun, yatay olması gerekiyordu, her şey haklı içerikli.
ana başlangıç ​​| ana uç - esnek öğeler, ana uç konumunun ana başlangıç ​​konumunda kaba yerleştirilir.
ana boyut - seçilen ana değere göre esnek öğenin geri dönüşteki genişliği veya yüksekliği.Ana değer, öğenin parlaması veya parlaması olabilir.
çapraz eksen - kafaya dik enine eksen.Її ana eksenin düz bir çizgisinde dümdüz uzanın.
çapraz başlangıç ​​| çapraz uç - esnek sıralar, konteynere çapraz başlangıç ​​konumunda ve çapraz uç konumunda yerleştirilmiş öğelerle doldurulur.
çapraz boyut - eski değerin boyutuna göre düşmedeki esnek elemanın genişliği veya yüksekliği.Güç, seçilen boyuta bağlı olarak elemanın genişliğine veya yüksekliğine göre değişir.


güç
ekran: esnek | satır içi esnek;

Bir esnek kapsayıcıyı (çevrimiçi veya blok para yatırma, aksi takdirde) belirtir, diğer tüm ara olmayan ekler için bir esnek bağlam içerir.

ekran: diğer değerler | esnek | satır içi esnek;

Gözetlemede akar:

CSS sütunları sütunları esnek kapsayıcıyla çalışmıyorfloat, clear ve dikey hizalama esnek öğelerde çalışmaz

esnek yön

Zastosovuetsya, babanın esnek konteyner unsuruna.

Ana ana ekseni kurmak, kaplar gibi esnek elemanlar için doğrudan değiştirmek.

esnek yön: satır | sıra-ters | sütun | sütun ters

sıra (kilitleme için): ltr için sağ elini, rtl için sağ elini;
sıra-ters: ltr için sol el, rtl için sağ el;
sütun: satıra benzer, yukarıdan aşağıya;
sütun-ters: alttan üste, satır tersine benzer.

esnek sargı

Zastosovuetsya, babanın esnek konteyner unsuruna.

Yeni sıraların yerleştirileceği düz bir çizgiye, düz bir enine eksenin yanı sıra tek sıralı veya torba sıralı bir konteyner olması amaçlanmıştır.

esnek sarma: nowrap | sarma | ters sarmak

Nowrap (kilitleme için): tek sıra / ltr için sağ elini, rtl için sağ elini;
sarma: baget / ltr için sağ elini, rtl için sağ elini;
sarma-ters: ltr için kırmızı / sağ elini kullanan, rtl için sağ elini kullanan.

esnek akış

Zastosovuetsya, babanın esnek konteyner unsuruna.

Bu, aynı zamanda baş ve enine ekseni belirleyen esnek yön ve esnek sarmanın gücünün kısayoludur.Kilidin arkasında, satır nowrap değeri ayarlanır.

esnek akış< ‘flex-direction’> || < ‘Flex-wrap’>

haklı içerik

Zastosovuetsya, babanın esnek konteyner unsuruna.

Viznaє virіvnyuvannya schodo kafa ekseni.genişletmeye yardımcı olur müsait yer bir vipadku'da, satırın öğeleri "gerilmez", ancak uzarsa, ancak zaten maksimum boyutlarına ulaşmışlarsa.Aynı zamanda şarkı dünyasının, sıranın dışına çıktıklarında elementleri yüceltmesine izin verir.

justify-content: esnek başlangıç ​​esnek uç merkezi | arasındaki boşluk | etrafında boşluk

esnek başlangıç ​​(kilitleme için): sıranın koçanındaki elemanlar zsuvayutsya;
esnek uç: satırın sonuna kadar zsuvayutsya öğeleri;
merkez: öğeler satırın ortasına hizalanır;
boşluk-arasında: öğeler eşit olarak düzenlenir (sıranın koçanındaki ilk öğe, kalan öğe)
boşluk-etrafında: elemanlar birbiri ardına eşit olarak düzenlenmiştir.

haklı içerik
hizalama öğeleri

Zastosovuetsya, babanın esnek konteyner unsuruna.

Satır içi satırda esnek öğelerin enine eksen boyunca nasıl yuvarlandığına ilişkin standart bir davranış belirtin.Lütfen çapraz eksen için yaslama içeriği versiyonuna uyun (ana eksene dik).

hizalama öğeleri: esnek başlangıç ​​esnek uç merkezi | temel | Uzatmak

esnek başlangıç: öğeler için çapraz başlangıç ​​sınırı, çapraz başlangıç ​​konumunda genişletilir;
esnek uç: elemanlar için çapraz uç kenarlığı, çapraz uç konumunda genişletilir;
merkez: elemanlar enine eksenin merkezinde hizalanır;
taban çizgisi: öğeler taban çizgisiyle hizalanır;
streç (sarma için): Öğeler, kabı sarmak için gerilir (min-genişlik/maks-genişlik sabit olarak).


hizalama öğeleri
içeriği hizala

Zastosovuetsya, babanın esnek konteyner unsuruna. Enine eksende boş bir alan bulunması için esnek bir kapsayıcının satırlarını hizalamak, ana eksende yaslama içeriğinin nasıl devre dışı bırakılacağına benzer. Not: Bu güç tek sıra flexbox ile çalışmaz.

hizalama içeriği: esnek başlangıç ​​esnek uç merkezi | arasındaki boşluk | etrafında boşluk | Uzatmak

esnek başlangıç: sıralar, kap aralığına göre döner;
esnek uç: sıralar kabın sonuna göre döndürülür;
merkez: sıralar kabın ortasına hizalanır;
boşluk: sıralar eşit olarak bölünür (sıranın koçanındaki ilk sıra, gerisi - arkada)
boşluk-etrafında: sıralar kendi aralarında eşit olarak bölünür;
streç (kilitleme için): sıralar gerilir, boş alan doldurulur.

içeriği hizala
sipariş

Kilitlemenin arkasında esnek elemanlar koçan sırasına göre düzenlenmiştir.Tim daha az değildir, siparişin gücü, kaptaki dağılım sırasına göre gerçekleştirilebilir.

sipariş 1

esnek büyüme

Alt/esnek öğeye yetişin. Esnek eleman için tüketim için "büyüme" yeteneğini belirtir.Sonsuz anlamı kabul eder, orantı görevi görür.Bu, kabın ortasındaki boş alanın bir kısmının bir eleman tarafından işgal edilebileceği anlamına gelir. Esnek büyüme gücünün tüm unsurları 1'e ayarlanırsa, aynı boyutta kabın ortasındaki deri kaplama çıkarılır.Bir aydan fazla ve daha az borç alırken, varsayılanlardan birine 2 değerini verdiniz.

esnek büyüme (kilitleme 0 için)

flex-shrink

Alt/esnek öğeye yetişin.

Esnek eleman için gerektiğinde büzülme kabiliyetini belirtir.

flex-shrink (varsayılan 1)

Negatif sayılar kabul edilmez.
esnek temel

Alt/esnek öğeye yetişin. Konteynerdeki boşluğu açmadan önce elemanın kilitlenmesi için randevu.

esnek temel | otomatik (varsayılan otomatik)

esnek

Alt/esnek öğeye yetişin. Bunlar, esnek büyüme, esnek küçültme ve esnek temel için kısayollardır.Diğer ve üçüncü parametreler (flex-shrink, flex-temel) dile özgü değildir.Kilit değeri 0 1 otomatiktir.

esnek: yok [< ‘Flex-grow «> <» flex-shrink’>? || < ‘Flex-basis’>]

kendini hizala

Alt/esnek öğeye yetişin. En fazla esnek öğeler için yazarak veya hizalama öğelerinde verilen hizalamanın yeniden eşlenmesine izin verir. Mevcut değerlerin kısa bir özeti için hizalama öğeleri listesine geri dönün.

kendini hizala: otomatik | esnek başlangıç ​​esnek uç merkezi | temel | Uzatmak

Uygulamak
hadi doğru anlayalım basit popo, Zustrichaєtsya bugün pratikte: virіvnyuvannya tam merkezde.Flexbox'ı yenmek için basit bir şey yoktur.

Ebeveyn ( display: esnek; yükseklik: 300 piksel; ) .child ( genişlik: 100 piksel; / * Bu doğru * / yükseklik: 100 piksel; / * Bu doğru * / kenar boşluğu: otomatik; / * Sihirli! * / )

Bu popo, kenar boşluğunun esnek konteynerin altında olması, görevlerin otomatik gibi olması, zayviy boşluğunun kapsanması, böyle bir sıraya girme görevinin öğeyi tam olarak merkezde hizalamak olduğu gerçeğine dayanmaktadır. eksenler. Şimdi gücün boyunduruğunu kazanalım.Sabit boyutta (boyama için) 6 elemanlı bir set belirtin veya kabın boyutunu değiştirebilirsiniz.Bunları yatay olarak eşit şekilde genişletmek istiyoruz, böylece pencerenin boyutunu değiştirirken tarayıcı penceresi iyi görünüyordu (@medya istekleri olmadan!).

Flex-konteyner (
/* cob flex bağlamında */
ekran:esnek;

/ * Şimdi i chi istiyorum akışına doğrudan anlamlıdır mi, schob elementi
yeni bir satıra aktarıldı
* Neyin aynı olduğunu, ne olduğunu hatırlayın:
* Esnek yön: sıra;
* Esnek sarma: sarma;
* /
esnek akış: satır sarma;

/ * Şimdi önemli olan, alanın nasıl genişletileceği * /
}

Hazır. Reshta - sağda zaten dekore edilmiş. Hadi biraz daha deneyelim.Sitemizin en üst kısmında sağ el navigasyonunu çevirmemiz gerektiğini bize bildirin, ancak orta boy ekranlar için ortada gösterilmesini ve küçük ekranlara dönüştürülmesini istiyoruz.Her şeyi bitirmek kolaydır.

/* Büyük ekranlar */
.navigasyon(
ekran:esnek;
esnek akış: satır sarma;
/ * Zsuvaє elemanları baş ekseni boyunca satırın sonuna kadar * /
haklı içerik: esnek uç;
}

medya tümü ve (maksimum genişlik: 800 piksel) (
.navigasyon(
/ * Orta büyüklükteki ekranlar için merkezde gezinmeyi devre dışı bırakıyoruz,
eşit olarak rozpodіlyayuchi çok önemli unsurlarla karşı karşıya * /
justify-content: etrafında boşluk;
}
}

/* küçük ekranlar */
medya tümü ve (maksimum genişlik: 500 piksel) (
.navigasyon(
/ * Küçük ekranlarda satırı değiştirin ve sütunda öğeler olabilir * /
esnek yön: sütun;
}
}

Esnek esnek elemanlarla oynayalım!Tam genişlikte üstbilgi ve altbilgi içeren mobil odaklı üç sütunlu bir düzen gibi mi?І іnshim sipariş roztashuvannya.

sarıcı (
ekran:esnek;
esnek akış: satır sarma;
}

/* Tüm Elemanların genişliğini %100 olarak ayarla */
.header, .main, .nav, .aside, .footer (
esnek %1100;
}

/ * Benim düşünceme göre, oryantasyon için dış düzene güveniyoruz.
* Mobil ekler:
* 1 başlık
*2nav
* 3 ana
* 4 kenar
* 5 fit
* /

/* Orta boy ekran */
medya tümü ve (min-genişlik: 600 piksel) (
/* Rahatsız olan kenar çubukları tek satırda yuvarlanır */
.aside (esnek: 1 otomatik; )
}

/* Büyük ekranlar */

Bu makalelerde CSS mizanpajının temel sorunlarının üstesinden gelen 5 yaklaşım vardır. Ayrıca, nasıl galip gelebileceğinizin açıkça gösterildiği gerçek projelerden birkaç pratik örnek ekledik.

Aynı yükseklikte sütunların oluşturulması

Kafanın arkasına bakabiliriz, seni affedeceğiz ama binanın diğer tarafında da çalışacağız. Min-height değişkeni çalışmaz, bu nedenle bu tür içeriğin ortaya çıkmasıyla sütunların genişlemesi tekrar değişecektir.

Usunennya, flexbox yardımının arkasındaki problemler de çözüm değil, skіlki stoptsі, s stovptsі, s s flexbox CSS, bir annenin hayata dönüşü gibi olacak. Esnek-yön ve hizalama öğelerinin gücünün doğru ayarlanması için "ruhly" bir model sunmamıza ve ardından yeniden düşünmemize gerek yok.

...
...
...
.container ( display: flex; /* "flex" modelin başlangıç ​​değeri */ /* Bu varsayılan değerler, ancak yine de değiştirebilirsiniz */ flex-direction: row; /* Konteynerin ortasındaki elemanlar yerleştirilecek yatay olarak dışarı */ align-items : streç; /* Kabın ortasındaki elemanlar tam boylarına kadar uzatılacak */ )

elementlerin permütasyonu

Bazı elemanların sırasındaki son dinamik değişiklik verilmiş olsaydı, JavaScript'ten daha uygun olurdu. Bununla birlikte, flexbox'ın ortaya çıkmasıyla, sorunlar artık suçlanmıyor, bu nedenle çözüm artık yalnızca CSS'nin gücünde değil.

Esnek kutu düzeninin bükülmesine izin verdiği için düzenin gücü kendisi için konuşur. Vono bize "bulanık" öğelerin sayısını ve sıralarını değiştirme şansı veriyor. Yetkinin tek parametresi, sayıdan daha büyük olan öğenin konumunu belirlediği için sayıdır - bu, bu öğenin önceliğidir.

...
...
...
.container( ekran: esnek; ) /* Geri sayım önceliği */ .mavi( sıra: 3; ) .kırmızı( sıra: 2; ) .yeşil( sıra: 1; )

Düzenin gücü, zastosuvannya'nın kişisel olmayan yolları olabilir. Onlardan bir şeyler öğrenmek istiyorsanız, uyarlanabilir bir yorum bölümü oluşturmak için benim muzaffer tekniğimde qiu'ya hayret edebilirsiniz.


Yatay ve dikey merkezleme

Virіvnyuvannya CSS dosi є ciddi bir sorun. Poshukovo sistemine geri dönmek istiyorsanız, adaptif yerleşimden bahsettiğimiz için gitmemiz gerekmeyen bir sürü çözüm, daha fazla proponuvaty tabloları ve değişiklikleri görürsünüz.

Esnek kutu düzeni olma kararını affedelim, böyle bir öğenin yardımıyla, baştan çıkarılmak gibi, titreşen yoga, koordinat düzlemi boyunca tritely hareket edebilirsiniz.

...
.container( display: flex; /* Ana eksen boyunca yüzde etiketleme */ justify-content: merkez; /* diğer satır ekseni boyunca yüzde etiketleme */ hizalama öğeleri: merkez; )

Bu konudaki kararı değerlendirmek ve bu konuda daha fazla bilgi sahibi olmak için aynı konu hakkında bildiklerinize gidebilirsiniz.


Yeni uyarlanabilir ızgaraların oluşturulması

Birçok web yöneticisi, uyarlanabilir ızgaralar oluşturan çeşitli CSS kitaplıklarına ve çerçevelerine dayanmaktadır. Bu galeri için en geniş araç Bootstrap. Ancak, ailesindeki tek kişi Vin değildir. Yüzlerce benzer yardımcı zaten dağıldı. Tüm kokular gözle görülür şekilde kötü çalışıyor ve övünebilir önemli küme seçenekler, ancak bir sorun, hiçbir şekilde rahatsız edilmeyecekler - bu zahmetli. Bir insan olduğunuz için, her şeyi bağımsız olarak seviyorsanız, aksi takdirde ızgara için tam bir çerçeve kurmak istemezsiniz, o zaman flexbox-layout size yardımcı olacaktır!

Flexbox satırı sadece bir kapsayıcıdır. Yenisinin ortasındaki yatay sütunlar, boyutları esnek olarak ayarlanabilen bir dizi öğe olabilir. Böyle bir model, herhangi bir ekranın genişlemesine uyum sağlar, nihai sonuç, garni annesinin büyük ek binalara bakmasından kaynaklanmaktadır. Tim daha küçük değil, gördüğümüz gibi, yatay düzlemde ekranda yeterli alan yok, o zaman mizanpaj medya desteği ile basitçe dikeye dönüştürülebilir.

...
...
...
.container( display: flex; ) /* Dış görünüm sütununu boyuta göre sınıflandırın. */ .col-1( flex: 1; ) .col-2( flex: 2; ) @media (max-width: 800px)( .container( /* Yatay nesneyi dikeye dönüştürün. */ esnek-yön : sütun ; ))

Bu yöntemin değişkenliğini talimatlarda değiştirebilirsiniz: Oluşturmanın en kolay yolu.


Sabit bir pіdval oluşturulması

flexbox CSS daha basit bir çözüm ve görev olabilir. Bodrumun demirlemesinin intikamını almak için bir taraf, esnek elemanlar aracılığıyla reçeteler, yok edilebilecekleri düşünmeye gerek kalmayacak.

Ayar ekranı: gövde etiketinden önce flex, tüm düzeni isterken "esnek modu" ince ayar yapmamızı sağlar. Her şey hazırsa, tarafın ana kısmı bir “bulanık” unsur ve bir diğeri de pozisyon manipülasyonlarını affetmek olacaktır.

...
...
html( yükseklik: %100; ) gövde( ekran: esnek; esnek yön: sütun; yükseklik: %100; ) .main( /* Yandaki tüm kullanılabilir alanı dolduracak, böylece kimsenin işgal etmeyeceği şekilde baş bölümü altbilgi */ flex: 1 0 auto; ) altbilgi( /* Yerin kendi stilinizi görmenize izin verir, yapmanız gerekir ve bir piksel daha büyük değil */ flex: 0 0 auto; )

Bu teknik hakkında daha fazla bilgiyi "" makalesinde bulacaksınız.


Visnovok

Günümüzde daha fazla tarayıcı esnek yerleşim modunu desteklemektedir; bu, flexbox'ın zengin perakendecilere yardım etmeye hazır olduğunu güvenle söyleyebiliriz.

Bu makalenin sizin için bayat olduğuna, CSS saç çizginizi boyadığına eminim. Başarı!

Gerçek popo formunda test görevi sana nasıl yazılacağını göstereceğim BEM, papaz esnek kutu. Soruyorsunuz: "Neden obov'yazkovo dizgisine göre BEM + Flexbox?" Bir robot gibi görünebilir. TK'den alıntı: "Çerçeveler olmadan dizgi yapın esnek kutu), basit ve mantıklı: benzersiz hantal yapılar ve basit kod, metodolojide ustalaşın BEM."

Form ile bölümün düzeninin parçası

Düzen kurallarım

  1. Düzeni mantıksal bölümlere ayırın
  2. Etiketten cilt bölümünü başlat Bölüm
  3. Vіdokremlyuvati bölümleri css bir tür yönetti, boş satır
  4. Kozhen teґ bir sınıf atamak
  5. Güçlendirilecek blok veya öğenin sınıfını adlandırın - ne?
  6. Güç kaynağında Im'ya değiştirici vіdpovіdaє - yakı?

HTML işaretlemesi

Kafanın arkasında rozeti çalışıyorum, blokların yatırımını belirliyorum ve sınıfların ne olduğunu tahmin ediyorum. Aşağıdaki kod verilmiştir, iki satır etiketimiz var - h2і giriş. Satır etiketleri, mizanpaj tasarımcıları arasında stresin ana nedenidir. Niye ya? Koku yapmak gerçekten kötü - mevcut genişliğin tamamını işgal etmeye çalışıyorlar, rengin arka plana ayarlanmasına izin vermiyorlar ve tüm bloğu yeniden boyutlandırıyorlar.



Özel bilgiler











Pis verstalnik'i soymak için neden böyle bir vipadka'da? Küçük öğeleri blok etiketlerine sarın div ve gerekli tüm yetkililer obgortsi etiketini belirledi. Kızı küçük elementler, güçte düşüş. Ve neden şehri zayvogo kodundan çitle çevirelim? Okuryazar bir verstalnik'i nasıl beklersiniz? Blok veya satır bloğu için satır öğesini yeniden atayın, css düzenlemeler.

Ekran bloğu; // giriş etiketi için
ekran: satır içi blok // h2 etiketi için

Yatırım mantığı ve blok isimleri

Özel bilgiler içeren bir bölümümüz var, bu yüzden bölümün sınıfını diyoruz - bilgi. Bölüm, üç yardımcı öğeden oluşur:

Simge // Sınıfı adlandırma info__icon
başlık // bilgi__başlık
form // bilgi_formu

Sınıfların adının özü BEM, polagaє babaya kız unsurunun gücünde. Öğeyi adlandıramıyorum simge. Sadece bir simge değil, bölümden bir simge bilgi.

Donka ve baba bir kişide

Engellemek info_form, özel bir bölümümüz var - bölümün katkılarında bilgi ale aynı anda form alanlarını süpürmek için. Görmenin adı bagatorivneva depozitosu. Formlu blok, girdiler için tamamen obgortkovu işlevi taşıyordu, böylece çağrılabilir girdileri kolayca ayarlayabilirsiniz. Adzhe malі іnputi, çocuklar gibi davranır (kim kokuyor ve є), zovsі duymuyor. Ayrıca, diğer girdi kuyruk için daha kısadır ve sadece geniştir.

Aynı güç ve genişliğe sahip tüm girişler için bir sınıf belirledik - info_input. Değişken girişler, dodamo değiştirici info_input_long ve kısa giriş - değiştirici info_input_short. Değiştiricinin ne olduğunu tahmin et BEM, güç kaynağından suçlu - yakı?









Değiştiriciler için CSS kuralları

.info__input_long(
genişlik: 520 piksel
}

info__input_short(
genişlik: 320 piksel
}

CSS kodu

İÇİNDE HTML rozmіttsі sitenin kaba bir yapısını oluşturur, css, biz zaten öğeleri yerleşime göre dağıtıyoruz. Bugün ortalıkta dolanmayacağız aklı başında görünen, ancak öğelerin konumuna odaklanın. Bölümümüzde iki adet esnek konteyner bulunmaktadır. Seçimin esnek olduğunu söylemek gerekir, tüm öğeler arka arkaya sıralandığında daha da şüphelidir. Açgözlülüğün kazandığı tek şey gücün gücüdür haklı içerik merkezde görüntülenen , esnek elemanlar. Kendi gerçeğimle söyleyebilirim ki, sadece bir bölüm bağlamında, esneme fikri aptalca. Düzen için bir referans düzeni kulağa daha farklı gelmelidir.

bilgi(
ekran:esnek;
haklı içerik: merkez;
hizalama öğeleri: merkez;
esnek yön: sütun;
üst kenar boşluğu: 77 piksel;
yükseklik: %100;
}

info_form(
ekran:esnek;
haklı içerik: merkez;
esnek yön: sütun;
yükseklik: %100;
üst kenar boşluğu: 50 piksel;

Merezheva Bezpeka