Düzeninizi Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

CSS Izgarasını kullanarak basit veya karmaşık düzenler oluşturduğumuzda, öğeleri genellikle satır numaralarıyla konumlandırırız. Izgara düzenleri, pozitif ve negatif satır numaralarıyla otomatik olarak indekslenen ızgara çizgileri içerir (bu, biz açıkça adlandırın). Öğeleri satır numaralarıyla konumlandırmak, işleri düzenlemenin iyi bir yoludur, ancak CSS Grid'in aynı şeyi küçük boyutlu bir bilişsel engel ile gerçekleştirmenin birçok yolu vardır. Bu yollardan biri, “ASCII” yöntemi olarak düşünmeyi sevdiğim bir şey.

Özetle ASCII yöntemi

Yöntem kullanmak için aşağı kaynar grid-template-areas ızgara öğelerini satır numaraları yerine ızgara kapsayıcı düzeyinde özel adlandırılmış alanları kullanarak konumlandırmak için.

Bir öğeyi kullanarak bir ızgara kapsayıcı olarak tanımladığımızda display: grid, ızgara kapsayıcı, varsayılan olarak, ızgara öğelerini yeterince tutan tek sütunlu bir iz ve satırlar oluşturur. Kapsayıcının ızgara düzenine katılan alt öğeleri, yapılarına bakılmaksızın ızgara öğelerine dönüştürülür. display özelliği.

Örneğin, sütunları ve satırları açıkça tanımlayarak bir ızgara oluşturalım. grid-template-columns ve grid-template-rows özellikleri.

.grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(3, 200px);
}

Bu küçük CSS parçacığı, ızgara öğelerinin sütunlarda eşit yer kapladığı ve ızgaranın iz boyutunda üç satır içerdiği 3×2'lik bir ızgara oluşturur. 200px.

Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Tüm düzeni şu şekilde tanımlayabiliriz: adlandırılmış ızgara alanları ile grid-template-areas Emlak. Göre özellik, başlangıç ​​değeri grid-template-areas is none.

grid-template-areas = none | <string>+

<string>+ bir alıntı ile çevrelenmiş dize grubunu listeliyor. Her dize bir hücre olarak temsil edilir ve alıntılanan her dize bir satır olarak temsil edilir. Bunun gibi:

grid-template-areas: "head head" "nav main" "foot foot";

Değeri grid-template-areas düzeni dört ızgara alanına sahip olarak tanımlar. Bunlar,

  • head
  • nav
  • main
  • foot

head ve foot iki sütun izini ve bir satır izini kapsar. Kalan nav ve main her biri bir sütun izini ve bir satır izini kapsar. Değeri grid-template-areas ASCII karakterlerini düzenlemeye çok benzer ve Chris önerdi Bir süre önce, onu anlamanın en sorunsuz yolu olan CSS'nin kendisinden mizanpajın genel yapısının bir görselleştirmesini alabiliriz.

Düzeninizi Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma PlatoBlockchain Veri Zekası. Dikey Arama. Ai.
(Tam boy GIF)

Tamam, bu yüzden düzenimizi dört adlandırılmış ızgara alanıyla oluşturduk: head, nav, main, foot.

Şimdi ızgara öğelerini satır numaraları yerine adlandırılmış ızgara alanlarına göre konumlandırmaya başlayalım. Özellikle, bir yerleştirelim header öğeyi adlandırılmış ızgara alanına head ve adlandırılmış ızgara alanını belirtin head içinde header öğesini kullanarak grid-area özelliği.

Bir ızgara düzeninde adlandırılmış ızgara alanları kimlikler. Yani, az önce yaptığımız şey, adında özel bir kimlik oluşturmaktı. head öğeleri belirli ızgara izlerine yerleştirmek için kullanabileceğimiz.

header { grid-area: head; }

Diğer özel kimlikleri kullanarak başka HTML öğeleri yapabiliriz:

nav { grid-area: nav; }
main { grid-area: main; }
footer { grid-area: foot; }

Adlandırılmış alan değerlerinin yazılması

Göre CSS Izgara Düzen Modülü Seviye 1, tüm dizeler aşağıdaki belirteçler altında tanımlanmalıdır:

  • Adlandırılmış hücre belirteci: Bu, ızgaradaki adlandırılmış ızgara alanını temsil eder. Örneğin, head adlandırılmış bir hücre belirtecidir.
  • Boş hücre belirteci: Bu, ızgara kapsayıcısındaki adsız ızgara alanını temsil eder. Örneğin, ızgaradaki boş bir hücre, bir boş hücre belirtecidir.
  • Çöp belirteci: Bu, geçersiz bir bildirim gibi bir sözdizimi hatasıdır. Örneğin, ızgara öğelerinin sayısıyla karşılaştırıldığında farklı sayıda hücre ve satır, bir bildirimi geçersiz kılacaktır.

In grid-template-area, alıntılanan her dizenin (satırlar) aynı sayıda hücreye sahip olması ve herhangi bir hücreyi yok saymadan tam ızgarayı tanımlaması gerekir.

Düzeninizi Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma PlatoBlockchain Veri Zekası. Dikey Arama. Ai.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Bir hücreyi görmezden gelebilir veya bir hücre olarak bırakabiliriz. boş hücre nokta karakterini kullanarak (.)

.grid { 
  display: grid;
  grid-template-areas:
    "head head"
    "nav main"
    "foot .";
}

Bu size görsel olarak garip veya dengesiz geliyorsa, aralarında boşluk bırakmadan birden çok noktalı karakter kullanabiliriz:

.grid {
  display: grid;
  grid-template-areas:
    "head head"
    "nav main"
    "foot ....";
}

Adlandırılmış bir hücre belirteci birden çok ızgara hücresine yayılabilir, ancak bu hücreler dikdörtgen bir düzen oluşturmalıdır. Başka bir deyişle, spesifikasyona göre “L” veya “T” şeklinde mizanpajlar oluşturamıyoruz. destek ipucu gelecekte bağlantısız bölgeleri olan dikdörtgen olmayan düzenler için.

ASCII, satır tabanlı yerleşimden daha iyidir

Satır tabanlı yerleşim, grid-column ve grid-row bir sayı tarafından otomatik olarak dizine eklenen ızgara çizgi numaralarını kullanarak bir öğeyi ızgarada konumlandırma özellikleri:

.grid-item {
  grid-column: 1 / 3; /* start at grid column line 1 and span to line 3 */
}

Ancak, düzenimiz bir kesme noktasında değişirse, ızgara öğesi satır numaraları değişebilir. Bu durumlarda, belirli bir kesme noktasında kullandığımız aynı satır numaralarına güvenemeyiz. Kodu anlamak için fazladan bilişsel zorunluluk gerektiren yer burasıdır.

Bu yüzden ASCII tabanlı bir yaklaşımın en iyi sonucu verdiğini düşünüyorum. Kullanarak her kesme noktası için düzeni yeniden tanımlayabiliriz. grid-template-areas düzenin doğrudan CSS'de nasıl görüneceğine dair uygun bir görsel sunan ızgara kapsayıcı içinde - bu, kendi kendini belgeleyen kod gibidir!

.grid {
  grid-template-areas:
    "head head"
    "nav main"
    "foot ...."; /* much easier way to see the grid! */
}

.grid-item {
  grid-area: foot; /* much easier to place the item! */
}

Aslında DevTools'ta bir ızgaranın satır numaralarını ve ızgara alanlarını görebiliriz. Örneğin Firefox'ta Düzen paneline gidin. Daha sonra, altında Grid sekmesinde, “Izgara görüntüleme ayarları” ve etkinleştir "Satır numarasını görüntüle" ve "Alan adlarını görüntüle" seçenekleri.

Izgara ayarlarını etkinleştirme.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Adlandırılmış alanları kullanan bu ASCII yaklaşımı, öğelerin yerleşimini görselleştirmek ve kolayca bulmak için çok daha az çaba gerektirir.

ASCII Sanat yerleşimine karşı çizgi tabanlı yerleşim.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

"Evrensel" kullanım durumuna bakalım

Adlandırılmış ızgara alanları hakkında bir öğretici gördüğümde, genel örnek genellikle aşağıdakileri içeren bazı düzen kalıplarıdır: header, main, sidebar, ve footer alanlar. Bu kadar geniş bir ağ oluşturduğu için bunu “evrensel” kullanım durumu olarak düşünmeyi seviyorum.

Dikdörtgenler içindeki Kutsal Kase düzeni.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Nasıl olduğunu göstermek için harika bir örnek grid-template-areas çalışır, ancak gerçek hayattaki bir uygulama genellikle düzeni belirli görüntü alanı genişliklerinde değiştirmek için ayarlanmış medya sorgularını içerir. Yeniden beyan etmek zorunda kalmak yerine grid-area her şeyi yeniden konumlandırmak için her kesme noktasındaki her ızgara öğesinde kullanabiliriz grid-template-areas bunun yerine kesme noktasına "yanıt vermek" için - ve süreçteki her kesme noktasında düzenin güzel bir görselini elde edin!

Düzeni tanımlamadan önce, her elemana bir ident atayalım. grid-area temel stil olarak özellik.

header {
  grid-area: head;
}

.left-side {
  grid-area: left;
}

main {
  grid-area: main;
}

.right-side {
  grid-area: right;
}

footer {
  grid-area: foot;
}

Şimdi layout'u tekrar temel stil olarak tanımlayalım. Her şeyin varsayılan olarak üst üste gelmesi için mobil öncelikli bir yaklaşımla gidiyoruz:

.grid-container {
  display: grid;
  grid-template-areas:
    "head"
    "left"
    "main"
    "right"
    "foot";
}
Düzeninizi Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma PlatoBlockchain Veri Zekası. Dikey Arama. Ai.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Her ızgara öğesi otomatik boyutlu bu konfigürasyonda - ki bu biraz garip görünüyor - böylece ayarlayabiliriz min-height: 100vh Bize çalışmak için daha fazla alan sağlamak için ızgara kabında:

.grid-container {
  display: grid;
  grid-template-areas:
    "head"
    "left"
    "main"
    "right"
    "foot";
  min-height: 100vh;
}
Düzeninizi Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma PlatoBlockchain Veri Zekası. Dikey Arama. Ai.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

şimdi istediğimizi söyleyelim main yığılmışın sağına oturacak eleman left ve right biraz daha geniş bir görüntü alanı genişliğine ulaştığımızda kenar çubukları. yeniden ilan ediyoruz grid-template-areas Bunu elde etmek için güncellenmiş bir ASCII düzeniyle:

@media (min-width: 800px) {
  .parent {
    grid-template-columns: 0.5fr 1fr;
    grid-template-rows: 100px 1fr 1fr 100px;
    grid-template-areas:
      "head head"
      "left main"
      "right main"
      "foot foot";
  }
}

Tamamen estetik için bazı sütun ve satır boyutlarını oraya attım.

Düzeninizi Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma PlatoBlockchain Veri Zekası. Dikey Arama. Ai.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Tarayıcı daha da genişledikçe, düzeni tekrar değiştirmek isteyebiliriz, böylece main arasına sıkıştırılır left ve right kenar çubukları. Düzeni görsel olarak yazalım!

.grid-container {
  grid-template-columns: 200px 1fr 200px; /* again, just for sizing */
  grid-template-areas:
    "head head head"
    "left main right"
    "left main right"
    "foot foot foot";
}
Düzeninizi Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma PlatoBlockchain Veri Zekası. Dikey Arama. Ai.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Esneklik için örtük satır adlarından yararlanma

Spesifikasyona göre, grid-template-areas adlandırılmış ızgara alanları tarafından oluşturulan ızgara çizgileri için otomatik olarak adlar oluşturur. Bu örtük olarak adlandırılan ızgara çizgileri diyoruz çünkü bunlar bizim için herhangi bir ek çalışma olmadan ücretsiz olarak adlandırılıyor.

Her adlandırılmış ızgara alanı, ikisi sütun yönünde ve ikisi satır yönünde olmak üzere, örtük olarak adlandırılmış dört ızgara çizgisi alır. -start ve -end kimliğine eklenir. Örneğin, adlı bir ızgara alanı head gets head-start ve head-end toplam dört dolaylı olarak adlandırılan ızgara çizgisi için her iki yönde çizgiler.

Dolaylı olarak atanan satır adları.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Bu çizgileri avantajımıza kullanabiliriz! Örneğin, bir öğenin üst üste binmesini istiyorsak main, left, ve right ızgaramızın alanları. Daha önce, yerleşimlerin nasıl dikdörtgen olması gerektiğinden bahsetmiştik - “T” ve “L” şeklinde yerleşimlere izin verilmez. Sonuç olarak, kaplamayı yerleştirmek için ASCII görsel yerleşim yöntemini kullanamıyoruz. Bununla birlikte, örtük satır adlarımızı aynı kullanarak kullanabiliriz. grid-area diğer öğeleri konumlandırmak için kullandığımız bindirme üzerindeki özellik.

Bunu biliyor muydun grid-area stenografi bir özelliktir, aynı şekilde margin ve padding steno özellikleri nelerdir? Aynı şekilde birden fazla değer alır, ancak "saat yönünde" bir yön izlemek yerine, margin - hangi sırayla gider margin-block-start, margin-inline-end, margin-block-end, ve margin-inline-start - grid-area şöyle gider:

grid-area: block-start / inline-start / block-end / inline-end;
Soldan sağa yazma modunda blok ve satır içi akış yönlerini gösterme.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Ama biz satırlar ve sütunlardan bahsediyoruz, blok ve satır içi yönlerden değil, değil mi? Eh, birbirlerine karşılık gelirler. Satır ekseni blok yönüne ve sütun ekseni satır içi yöne karşılık gelir:

grid-area: grid-row-start / grid-column-start / grid-row-end / grid-column-end;
Blok ve satır içi eksen.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Bu kaplama öğesini yerleşimimizde bir ızgara öğesi olarak konumlandırmaya geri dönün. bu grid-area özelliği, örtük olarak adlandırılan ızgara çizgilerimizi kullanarak öğeyi konumlandırmaya yardımcı olacaktır:

.overlay {
  grid-area: left-start / left-start / right-end / main-end;
}

Minimal bir ızgara sistemi oluşturma

Az önce gördüğümüz “evrensel” kullanım durumu gibi düzenlere odaklandığımızda, ızgara alanlarını eleman başına bir alan olarak düşünmek cazip geliyor. Ama böyle çalışmak zorunda değil. Düzende onlara daha fazla yer ayırmak için kimlikleri tekrarlayabiliriz. tekrarladığımızda gördük. head ve foot son örnekteki idents:

.grid-container {
  grid-template-areas:
    "head head head"
    "left main right"
    "left main right"
    "foot foot foot";
}

Dikkat edin main, left, ve right da yinelenir, ancak blok yönünde.

Tam sayfa düzenlerini unutalım ve bir bileşende adlandırılmış ızgara alanlarını kullanalım. Izgara, bileşen düzenleri için tam sayfalar kadar iyidir!

İşte bir dizi görüntüyü ve ardından farklı metin bloklarını destekleyen oldukça standart bir kahraman bileşeni:

Bir başlığın üzerinde bir dizi halter fotoğrafı, tanıtım yazısı, ardından üç bağlantıdan oluşan bir satır.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

HTML oldukça basittir:

<div class="hero">
  <div class="image">
    <img src="..." alt="" />
  </div>
  <div class="text">
    <!-- ... -->
  </div>
</div>

Bunu gerçek hızlı yığılmış bir düzen için yapabiliriz:

.hero {
  grid-template-areas:
    "image"
    "text";
}

Ama sonra bazılarına ulaşmak zorundayız padding, max-width veya metin alanını resim satırından daha dar hale getirmek için ne olursa olsun. Kimliklerimizi her iki satırda da tekrarlayarak ASCII düzenimizi dört sütunlu bir ızgaraya genişletmeye ne dersiniz:

.hero {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* maintain equal sizing */
  grid-template-areas:
    "image image image image"
    "text  text  text  text";
}

Pekala, şimdi ızgara öğelerimizi adlandırılmış alanlara yerleştirebiliriz:

.hero .image {
  grid-area: image;
}

.hero .text {
  grid-area: text;
}

Şimdiye kadar çok iyi - her iki sıra da tüm genişliği kaplıyor. Bunu küçük ekranlar için temel düzenimiz olarak kullanabiliriz.

Sayfanın yığılmış mobil sürümünde kılavuz çizgileri gösteriliyor.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Ama belki de görüntü alanı daha geniş bir genişliğe ulaştığında daha dar metni tanıtmak istiyoruz. Sütunları "atlamak" için nokta karakteri hakkında bildiklerimizi kullanabiliriz. hadi text ident bu durumda ilk ve son sütunları atlayın.

@media (min-width: 800px) {
  main {
    grid-template-columns: repeat(6, 1fr); /* increase to six columns */
    grid-template-areas:
      "image image image image image image"
      "..... text  text  text  text  .....";
  }
}

Şimdi istediğimiz aralığa sahibiz:

Sayfanın tablo boyutlu düzeni için kılavuz çizgileri gösteriliyor.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Düzen, daha da büyük kesme noktalarında ek ince ayar gerektiriyorsa, daha fazla sütun ekleyebilir ve oradan gidebiliriz:

.hero {
  grid-template-columns: repeat(8, 1fr);
  grid-template-areas:
    "image image image image image image image image"
    "..... text  text  text  text  text  text  .....";
}

Geliştirme aracı görselleştirmesi:

Sayfanın büyük bir tablo boyutlu düzeni için kılavuz çizgileri gösteriliyor.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

12 sütunlu ve 16 sütunlu mizanpajların CSS çerçevelerinde büyük şeyler olduğunu hatırlıyor musunuz? Buna hızla ölçeklendirebilir ve kodda güzel bir görsel ASCII düzeni sağlayabiliriz:

main {
  grid-template-columns: repeat(12, 1fr);
  grid-template-areas:
    "image image image image image image image image image image image image"
    "..... text  text  text  text  text  text  text  text  text  text  .....";
}

Daha karmaşık bir şeye bakalım

Oldukça genel bir örneğe ve nispeten basit bir örneğe baktık. Yine de daha karmaşık düzenlerle güzel ASCII düzen görselleştirmeleri elde edebiliriz.

Buna kadar çalışalım:

Süslü bir başlığın etrafına yerleştirilmiş üç resim.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Bunu HTML'de iki öğeye böldüm, bir header ve main:

<header>
  <div class="logo"> ... </div>
  <div class="menu"> ... </div>
</header>
<main>
  <div class="image"> ... </div>
  <h2> ... </h2>
  <div class="image"> ... </div>
  <div class="image"> ... </div>
</main>

Flexbox'ın daha uygun olduğunu düşünüyorum. header çünkü alt öğelerini bu şekilde kolayca yerleştirebiliriz. Yani, hayır grid Orada:

header {
  display: flex;
  justify-content: space-between;
  /* etc. */
}

Fakat grid için çok uygundur main elemanın düzeni. Düzeni tanımlayalım ve kimlikleri, konumlandırmak için ihtiyaç duyduğumuz karşılık gelen öğelere atayalım. .text Ve üç .image elementler. Küçük ekranlar için temelimiz olarak bununla başlayacağız:

.grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-areas:
    "image1 image1 .....  image2"
    "texts  texts  texts  texts"
    ".....  image3 image3 .....";
}

Bununla nereye gittiğimizi zaten görebilirsiniz, değil mi? Düzen bizim için görselleştirilir ve ızgara öğelerini özel kimliklerle yerine bırakabiliriz:

.image:nth-child(1) {
  grid-area: image1;
}

.image:nth-last-child(2) {
  grid-area: image2;
}

.image:nth-last-child(1) {
  grid-area: image3;
}

h2 {
  grid-area: texts;
}
Sayfanın mobil düzeninde kılavuz çizgileri gösteriliyor.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Bu bizim temel düzenimiz, bu yüzden daha geniş bir kesme noktasına girelim:

@media (min-width: 800px) {
  .grid {
    grid-template-columns: repeat(8, 1fr);
    grid-template-areas:
      ". image1 image1 ...... ......  ...... image2 ."
      ". texts  texts  texts  texts   texts  image2 ."
      ". .....  image3 image3 image3  image3 ...... .";
  }
}

Bahse girerim, bunun nasıl görüneceğini tam olarak biliyorsunuzdur çünkü düzen tam orada, kodun içindedir!

Sayfanın tablo boyutlu düzeni için kılavuz çizgileri gösteriliyor.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

Daha da büyütmeye karar verirsek aynı anlaşma:

.grid {
  grid-template-columns: repeat(12, 1fr);
  grid-template-areas:
    ". image1 image1 .....  .....   .....  .....  .....  .....  .....  .....  ."
    ". texts  texts  texts  texts   texts  texts  texts  texts  texts  image2 ."
    ". .....  image3 image3 image3  image3 .....  .....  .....  .....  .....  .";
}
Sayfanın masaüstü boyutundaki düzeni için kılavuz çizgileri gösteriliyor.
Mizanpajınızı Görselleştirmek (ve Referans Vermek) için Izgara Adlandırılmış Alanları Kullanma

İşte tam demo:

"negatif" kullanıyorum margin Başlığı üst üste gelecek ilk görüntüyü elde etmek için "hack".

Tamamlayan

başka kullanan var mı merak ettim grid-template-areas ızgara düzeninin bir ASCII görseline sahip olmanın yararına adlandırılmış alanlar oluşturmak. Bunu CSS kodumda referans olarak almak, satır numaralarıyla uğraşırken daha da karmaşık olabilecek bazı karmaşık tasarımların gizemini gidermeye yardımcı oldu.

Ancak, ızgara düzenlerini bu şekilde tanımlamak, bize bu yazı boyunca gördüğümüz CSS Izgarası hakkında bazı ilginç şeyler öğretir:

  • The grid-template-areas özelliği, özel kimlikler veya "adlandırılmış alanlar" oluşturmamıza ve bunları kullanarak ızgara öğelerini konumlandırmak için kullanmamıza olanak tanır. grid-area özelliği.
  • Üç tür "belirteç" vardır: grid-template-areas adlandırılmış hücre belirteçleri, boş hücre belirteçleri ve çöp hücresi belirteçleri dahil değerler olarak kabul eder.
  • içinde tanımlanan her satır grid-template-areas aynı sayıda hücreye ihtiyaç duyar. Tek bir hücreyi yok saymak bir düzen oluşturmaz; bir çöp belirteci olarak kabul edilir.
  • Tablodaki ızgara düzeninin görsel bir ASCII-benzeri diyagramını alabiliriz. grid-template-areas ızgara düzenini tanımlarken adlandırılmış hücre belirteçleri arasında gerekli boşlukları kullanarak özellik değeri.
  • Boş hücre belirtecinin içinde boşluk olmadığından emin olun (örn. .....). Aksi takdirde, boş hücre belirteçleri arasındaki tek bir boşluk gereksiz boş hücreler oluşturarak geçersiz bir yerleşime neden olur.
  • Kullanarak ızgara öğelerini yeniden konumlandırarak düzeni çeşitli kesme noktalarında yeniden tanımlayabiliriz. grid-area, ardından düzeni ile yeniden bildirmek grid-template-areas Gerekirse parça listesini güncellemek için ızgara kapsayıcısında. Izgara öğelerine dokunmanıza gerek yok.
  • Özel adlandırılmış ızgara alanları, otomatik olarak örtük olarak atanmış dört satır adı alır — <custom-ident>-start ve <custom-ident>-end hem sütun hem de satır yönlerinde.

Zaman Damgası:

Den fazla CSS Püf Noktaları