CSS Izgarası—Web Tasarımının Geleceği Zaten Burada


Geçen yıl web tasarım merkezli bir konferans olan SmashingConf Barcelona'ya katılma şansım oldu. Konferansla ilgili bir önceki yazımda bahsettiğim gibi, hem sahnelemenin hem de konuşmaların olağanüstü kalitesi beni şaşırttı. En çok sevdiğim konuşma, web geliştirmede yakında göreceğimiz (veya “şu anda görüyoruz” demeliyim) bazı harika şeyler sunan Jen Simons'du.

Jen bize görüntü kırpma, ilk harfleri bırakma, kapak sayfaları, çok sütunlu düzenler gibi özellikleri tanıttı… Bu (ve diğer) demoların nasıl çalıştığını daha iyi bilmek istiyorsanız, kaynak kodlarına özellikle dikkat ederek 2016 listesine göz atın.

Bileşenleri, yakında çıkacak bir CSS özelliği olan Izgarayı kullanarak konumlandırma.
Basit HTML ve Grid (nihayet) tüm büyük web tarayıcıları tarafından desteklenen yeni bir CSS özelliği kullanarak bir reklam afişinin nasıl oluşturulabileceğine dair bir örnek. Yaşasın! ?

En çok sevdiğim özelliği CSS Grid oldu. O zaman, CSS Grid hala geliştirme aşamasındaydı ve varsayılan olarak hiçbir tarayıcı onu desteklemiyordu. Ancak Jen izleyicilere "önümüzdeki yaza [bu yaz] kadar tüm büyük tarayıcıların CSS Izgaralarını zaten destekleyeceğini, bu yüzden nasıl kullanılacağını öğrenseniz iyi olacağını" söyledi ve tamamen haklıydı. Bu yüzden, bu harika özellik ve onu kendi geliştirmelerinizde nasıl kullanabileceğiniz hakkında konuşmamızın zamanı geldi diye düşünüyorum.

“Izgara” olmadan “CSS Izgarası” olmaz

CSS Izgarasına dalmadan önce, genel olarak ızgara tasarımları hakkında konuşmak için muhtemelen birkaç dakika harcamalıyız. Esasen bir ızgara, düzeni oluşturan bir dizi görünmez çizgi (aslında satırlar ve sütunlar) kullanarak web sitenizin temel yapısını tanımlar . Bir resim bin kelimeye bedel olduğundan, burada tasvir edilen bu soyut tanımı görüyorsunuz:

Parrilla de 12 sütunlu web de la BBC
BBC'nin web sitesinde gösterilen 12 sütunlu ızgara. (Kaynak).

Gördüğünüz gibi, web'de iki net satır bölümü vardır: karşılama ve haberler . Bu iki blok onları farklı şekilde kullanmasına rağmen, her iki bölüm de 12 sütunluk bir yapıya sahiptir. Böylece, ilk blok ikiye bölünmüştür—sol tarafta öne çıkan bir haber var; sağ tarafta dört küçük haber var. İkinci blok ise içeriği eşit olarak dağıtılmış üç sütuna böler.

Twitter'ın Bootstrap veya Foundation gibi çerçevelere aşina iseniz, bu 12 sütunlu yapıyı zaten biliyorsunuzdur. Neden 12 sütun (örneğin 10 yerine) kullandıklarını merak ettiyseniz, cevap sunduğu esneklikte yatıyor. 12, 10'dan çok daha fazla kombinasyon sunar, çünkü 12'nin 10'dan daha fazla çarpanı vardır, yani daha fazla sayıya bölünebilir.

Ve ızgara tasarımları hakkında temel olarak bilmeniz gereken tek şey bu – bir dizi görünmez sütun ve satır, içeriği konumlandıracağınız alanları mı tanımlar? Konuyu derinleştirmek istiyorsanız, Ed Wassermann'ın gridlere girişine bir göz atın. Ve lütfen, önemli bir şeyi kaçırdığımı düşünüyorsanız, yorumlar bölümünde kendi deneyiminizi bizimle paylaşmaktan çekinmeyin – eminim okuyucularımız bunu takdir edecektir?

Izgara Tasarımlarını Uygulamak İçin Nasıl Kullandık?

Izgaralar yeni değil – uzun süredir bizimle birlikteler. Web tasarımı hakkında konuşursak, her şey tablo düzenleriyle başladı, ardından az önce bahsettiğimiz güzel, duyarlı çerçeveler (Bootstrap vb.) Her iki çözüm de, temeldeki ızgara düzenini açıkça tanımlamak için çok fazla HTML işaretlemesi gerektiriyordu. Örneğin, Bootstrap kullanarak BBC'nin web sitesini yeniden oluşturmaya çalışalım. HTML kaynak kodu muhtemelen şuna benzer:

hangi sonuçlanır:

Önyükleme Düzeni
BBC'nin düzeni Bootstrap kullanılarak uygulandı.

Gördüğünüz gibi, ortaya çıkan HTML kodu açıkça bir Izgara düzeni içeriyor. Örneğin, ilk bloğa odaklanırsak, üç sütuna bölünmüş bir div “satırımız” olduğunu göreceksiniz. Her sütunun genişliği class özniteliğinde belirtilir (önceden tanımlanmış bazı Bootstrap sınıfları kullanılarak), ancak yine de belirli CSS kurallarını kullanarak yükseklikleri değiştirmemiz gerekir. Bu oldukça çirkin, değil mi? Hepsi HTML tablolarına oldukça benziyor! ?


CSS Izgarası ile Düzen Nasıl Oluşturulur

CSS Izgaraları, içeriği sunumundan ayırmanıza yardımcı olacaktır. CSS Grid'in şu anda sahip olduğunuz en güçlü düzen sistemi olduğunu söyleyebilirim. Az önce gördüğümüz örneği yeniden oluşturalım, ancak bunun yerine CSS Izgarasını kullanarak:

Gördüğünüz gibi, HTML kodu çok daha kolay. Ortaya çıkan kodda herhangi bir düzen bilgisi yoktur; her bölüm basit bir haber listesi içerir. Bu sayfayı oluşturduysak, şöyle görünür (sonucu görselleştirmenize yardımcı olmak için renkleri korudum):

Somut bir düzen olmadan web sitesi
BBC'nin web sitesi belirli bir düzen olmadan engelliyor.

Şimdi, temel ızgarayı nasıl oluşturacağız? Tabii ki sade ve basit CSS kuralları kullanarak! İlk olarak, ana kapsayıcılara birkaç kural uygulamamız gerekiyor. Bu kurallar kılavuzun kendisini belirleyecektir (sütunlar, satırlar, boşluklar vb.):

bununla sonuçlanır:

Bir düzen belirtmek için CSS Izgarasını kullanma
BBC'nin web sitesi düzeni, CSS Izgarası kullanılarak oluşturuldu. Ne yazık ki, henüz mükemmel değil – ilk haber 2 hücre almalı.

Vay! Oldukça havalı, ha? Yalnızca birkaç CSS satırıyla artık tarayıcımız tarafından oluşturulan güzel bir ızgaraya sahibiz. Her blok, başka bir şey yapmadan otomatik olarak bir hücreye yerleştirildi. Ancak ortaya çıkan sayfa tam olarak istediğimiz gibi değil, değil mi? Sorun nedir?

Karşılama bloğunu üç sütuna ve iki satıra (yani 6 hücre) böldük. Ancak bu blokta sadece 5 haber vardır, bu da öğelerin otomatik olarak konumlandırılmasının bir hücreyi boş bırakacağı anlamına gelir. Bunu düzeltmek için, ilk çocuk için fazladan bir CSS kuralı eklememiz gerekiyor—tarayıcıya header bölümündeki ilk ve en önemli haberin iki hücre aldığını söylememiz gerekiyor:

bu da istediğimiz sayfayla sonuçlanır:

CSS Izgara Düzeni
BBC'nin web sitesi düzeni, yalnızca CSS Izgarası kullanılarak oluşturulmuştur. Harika görünen basit ve zarif bir çözüm!

işte! Bu kadar! Şimdi başlangıçta elde ettiğimiz sonuca sahibiz, ancak daha basit ve daha zarif bir kaynak koduyla. HTML içeriğini CSS mizanpajından kesin olarak ayırabildik mi?

CSS Izgarasını Öğrenmek için Kaynaklar

CSS Grid'e başlamak için size Thomas H. Park'tan CSS Grid Garden'ı öneririm. 28 seviyesi boyunca, CSS Izgaraları hakkında bilmeniz gereken tüm temel bilgileri öğreneceksiniz:

CSS Izgara Bahçesi
Bu güzel oyunla CSS Izgarasını nasıl kullanacağınızı öğrenin.

Diğer kaynaklar şunlardır:

  • CSS Püf Noktalarında CSS Izgarası için Eksiksiz Bir Kılavuz. Bu web sitesinin herhangi bir tanıtıma ihtiyacı olduğunu düşünmüyorum… Burada tüm CSS Grid özelliklerini, bunların nasıl kullanılacağına dair ayrıntılı açıklamalar ve örneklerle birlikte bulacaksınız. Web sitesi iki sütuna bölünmüştür: kapsayıcı öğesi için geçerli olan özellikler (ızgaranın kendisini tanımlar) ve alt öğeler için geçerli olan özellikler.
  • Mozilla'da CSS Izgara Düzeni. Muhtemelen önceki kaynaktan daha az ayrıntılı olan bu web sitesi, CSS Izgaraları hakkında bazı yararlı bilgiler de içerir.
  • Izgara Örnekleri. CSS Izgarası kullanılarak oluşturulan birkaç ızgara örneği. Nasıl başlayacağınızı merak ediyor musunuz? Bu örnekler size mükemmel yerleşim skellerini verecek mi?

Çözüm

Sonunda web sitelerimizin düzenini içeriğimizden bağımsız olarak tanımlayabiliriz. CSS Grid kesinlikle web tasarımında devrim yaratacak; güçlü ve zarif. Bu yeni teknolojiyi öğrenin ve yeni projelerinize uygulayın!

Web tasarımının geleceği BUGÜN.

Öne Çıkan Resim Dmitri Popov tarafından.

Copyright statement: Unless otherwise noted, this article is Collected from the Internet, please keep the source of the article when reprinting.

Check Also

Divi's Theme Builder ile Özel Global Başlık Nasıl Oluşturulur

Artık Tema Oluşturucu burada olduğuna göre, web sitenizi A'dan Z'ye kurmanıza yardımcı olacak yeni eğitimlere dalmak için sabırsızlanıyoruz. Buna Divi'nin yerleşik seçeneğini kullanarak özel başlıklar oluşturma da dahildir. Bu eğitimde Divi's Theme Builder'ı kullanarak global bir başlık oluşturmaya odaklanacağız. Bu sayfaya veya gönderiye farklı bir başlık atamadıysanız, web sitenizin her yerinde genel bir başlık görünecektir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir