Bu makalede, web tasarımcılarının daha iyi ve daha hızlı tasarım yapmalarına yardımcı olmak için kullanışlı ipuçları paylaşılmaktadır Makalede, CSS önişlemleri kullanmanın, Flexbox ve CSS Grid sistemi kullanarak sayfa düzenini kontrol etmenin, Normalizecss kullanmanın, DRY ve BEM kodlama düzeni kullanmanın ve CSS sprites kullanmanın önemine değinilmektedir Ayrıca, Flexbox özellikleri olan align-items ve justify-content özelliklerinin doğru kullanımının, tasarımın görünümünü ve işlevselliğini önemli ölçüde artırabileceği vurgulanmaktadır

CSS, web sayfalarının tasarımı ve düzenlenmesi için olmazsa olmaz bir araçtır. Ancak, birçok web tasarımcısı CSS kodlarını yazarken bazı basit hatalar yapar ve bu hatalar performansı düşürür ve tasarım sürecini yavaşlatır. Bu makalede, CSS özelleştirme tekniklerine odaklanıyoruz ve daha iyi ve daha hızlı tasarım yapmak için kullanışlı ipuçlarını paylaşıyoruz.
İlk olarak, CSS önişlemlerini kullanarak kod yazımınızı kolaylaştırabilirsiniz. CSS önişlemleri, daha iyi okunabilirlik ve sürdürülebilirlik sağlar ve kod yazma sürecini hızlandırır. İkinci olarak, Flexbox ile birlikte CSS grid sistemi kullanarak web sayfanızın düzenini kontrol edebilirsiniz. Flexbox, içeriklerin dikey düzlemde hizalanmasını sağlarken, justify-content özelliği sayesinde içerikleri yatay düzlemde hizalarsınız. Ancak, tarayıcı uyumluluğunu kontrol etmek her zaman önemlidir.
Üçüncü olarak, Normalize.css kullanarak sayfanızdaki farklı öğelerin stil düzenini normalize edebilirsiniz. Bu, farklı tarayıcılarda aynı görünümü sağlayarak web sayfanızın tasarımını düzenlemenizi kolaylaştırır. Dördüncü olarak, DRY (Don't Repeat Yourself) ve BEM (Block Element Modifier) kodlama düzeni, programlama sürecini ve kod okunabilirliğini geliştirir. DRY kodlama, tekrarlamayan, daha az kod yazmanızı sağlar. BEM kullanarak, web sayfanızdaki öğeleri blok, eleman ve modifiye olmak üzere farklı kategorilere ayırabilirsiniz.
Son olarak, CSS sprites kullanarak sayfa yüklemesini hızlandırabilir ve sunucu isteklerini azaltabilirsiniz. CSS sprites, birkaç resim dosyasını birleştirerek bunları bir sprite olarak kaydeder ve böylece tek bir istekte birden fazla resim dosyasını yükler.
1. CSS Önişlemleri Kullanın
CSS önişlemleri, CSS kodlarınızın daha okunaklı ve sürdürülebilir olmasını sağlayan kodlama teknikleridir. Bunlar, belirli özellikleri tekrar tekrar yazmanız gerektiğinde, değişkenler ve fonksiyonlar kullanarak CSS kodlarınızı daha etkili ve daha az tekrarlı hale getirirler.
Bunların en yaygın kullanımı, aynı renkleri, yazı tiplerini, çerçeve genişliklerini, arka plan renklerini vb. tüm belge boyunca birden çok kez kullanmanızdır. Önişlemler ayrıca, tasarımınızın tüm boyutlarında tutarlılığı sağlamanıza yardımcı olabilir.
CSS önişlemlerini kullanarak yapabileceğiniz bazı şeyler şunlardır:
- Değişkenler kullanarak renkler, yazı tipi ailesi, boyutlar gibi tekrar eden CSS özelliklerini yeniden kullanın.
- Fonksiyonlar aracılığıyla tekrar eden stil özelliklerini etkili bir şekilde kullanan önişlemler oluşturun.
- Başka bir CSS önişlemine ayarları içe aktararak stil setleri tanımlayın. Bu, stil sayfalarınızın boyutunu küçültür ve her sayfada yeniden kullanılan kodları yeniden tekrar yazmadan önce kodlama aşamasını basitleştirir.
Tüm bunlar, CSS önişlemlerinin sizi tasarımda daha hızlı ve daha verimli bir hale getireceği anlamına gelir. Ayrıca, kodunuz daha okunaklı olduğunda, daha hızlı ve daha az hatalı yazmanız mümkün olacaktır.
2. Flexbox'u Kullanın
Flexbox, CSS ile oluşturduğunuz web sayfanızın düzenini kontrol etmenizi sağlar. Ancak, CSS Grid sistemi kadar esnek değildir. Bu nedenle, CSS Grid ile birlikte kullanmanız daha doğru olabilir.
Flexbox özellikleri doğru bir şekilde kullanarak, sayfanızın içeriklerini dikey ya da yatay düzlemde hizalayabilirsiniz. align-items özelliği, içerikleri dikey düzlemde hizalarken; justify-content özelliği, içerikleri yatay düzlemde hizalar. Bu özellikler, sayfanızın düzenini kontrol etmek için oldukça kullanışlıdır.
Flexbox ile oluşturduğunuz tasarımların tarayıcı uyumluluğunu kontrol etmeniz önemlidir. Bazı eski tarayıcılar, Flexbox özelliklerini desteklemez. Bu nedenle, tasarımlarınızın eski tarayıcılarda da gözüktüğünden emin olmak için, browser uyumluluğunu kontrol etmeniz gerekmektedir.
Genel olarak, Flexbox'un sunduğu özellikler ile sayfanızdaki içerikleri kontrol etmeniz mümkündür. Ancak, CSS Grid sistemi ile birlikte kullanmak, daha esnek bir tasarım için daha doğru bir tercih olabilir. Bu nedenle, ihtiyacınıza göre CSS Grid ve Flexbox özelliklerini doğru bir şekilde kullanarak, tasarımınızın yaratıcılığını ortaya çıkarabilirsiniz.
2.1 Doğru Özellikleri Kullanın
, tasarımınıza istediğiniz şekli verebilmeniz için doğru özellikleri kullanmanız önemlidir. İki temel özellik olan align-items ve justify-content ile sırasıyla öğeleri dikey ve yatay düzlemde hizalayabilirsiniz.
Doğru özellikleri kullanmak için, tasarımınızın ihtiyaçlarına göre hangi özelliklerin kullanılacağına karar vermeniz gerekiyor. Örneğin, align-items özelliğini kullanarak, bir flex container’ın yüksekliği belirlenebilir ve içerikleri dikey olarak hizalayabilirsiniz. justify-content özelliğini kullanarak ise, içerikleri yatay olarak hizalayabilirsiniz.
Bu özelliklerin doğru kullanımı, tasarımınızın görünümünü ve işlevselliğini önemli ölçüde artırır. Ayrıca, tasarımınızın harika görünmesini sağlayarak ziyaretçilerinizin web sitenizde daha fazla zaman geçirmelerini sağlar.
Özetle, flexbox kullanırken doğru özellikleri kullanmak, bir web sitesinin tasarımının özelleştirilmesinde önemli bir rol oynamaktadır. Etkili bir şekilde kullanıldığında, özellikler tasarımınızda ustalıkla yerleştirilmiş bloklar oluşturmanıza ve ziyaretçilerinize mükemmel bir kullanıcı deneyimi sunmanıza yardımcı olur.
align-itemsözelliği, flexbox'un kullanımı sırasında elemanları dikey düzlemde hizalamayı sağlar. Bu özellik sayesinde, içerikler arasında boşluklar oluşmadan sayfa tasarımınızı daha estetik hale getirebilirsiniz.
align-items özelliği, birçok farklı değer alabilir. Bu değerler arasında center, stretch, baseline, flex-start ve flex-end yer alır.
Değer | Açıklama |
---|---|
center | Elemanları dikey eksende ortalar. |
stretch | Elemanları dikey eksende belirlenen alan kadar genişletir. |
baseline | Elemanları alt satırlara göre hizalar. |
flex-start | Elemanları dikey eksende en üstte hizalar. |
flex-end | Elemanları dikey eksende en altta hizalar. |
Bu özellik, sayfa tasarımı için önemli bir araçtır. Kullanarak elemanlarınızı dikey düzlemde hizalayabilir ve sayfa tasarımınızda bir bütünlük sağlayabilirsiniz. Ancak, bu özelliği kullanırken diğer özelliklerle birlikte doğru şekilde kullanmanız gerektiğini unutmamalısınız.
veBugünün web tasarımı, görsel estetiği, kullanılabilirliği ve hızı içeren bir kombinasyondur. CSS özelleştirme teknikleri, daha iyi ve daha hızlı tasarımlar oluşturmanıza yardımcı olarak, bu hedeflere ulaşmanıza katkı sağlar. Bu tekniklere bir bakış atalım:
CSS önişlemleri, daha iyi okunabilirlik ve sürdürülebilirlik sağlayarak kod yazımınızı kolaylaştırır. Önişlemler, web sayfanızda kullanacağınız tüm öğeleri tek bir yerde tanımlamanıza izin verir. Bu, kodun tekrarlanmasını ve güncelleme yapmanız gerektiğinde birden fazla yeri değiştirme zorunluluğunu önler.
Flexbox, web sayfanızın düzenini etkili bir şekilde kontrol etmenizi sağlar. CSS grid sistemi ile birlikte kullanıldığında, her tür sayfa düzeni oluşturabilirsiniz.
Flexbox kullanırken align-items ve justify-content özelliklerini doğru bir şekilde kullanın. Bu, içerikleri dikey ve yatay düzlemde hizalamayı sağlar.
align-items özelliği, içerikleri dikey düzlemde hizalar. Bu özellik, içeriklerin üstten alta hizalanmasını kontrol eder.
justify-content özelliği, içerikleri yatay düzlemde hizalar. Bu özellik, içeriklerin sol veya sağ tarafa hizalanmasını kontrol eder.
Flexbox ile oluşturduğunuz tasarımların tarayıcı uyumluluğunu kontrol edin. İnternet Explorer gibi bazı tarayıcılar, Flexbox özelliklerini desteklemez.
Normalize.css, sayfanızdaki farklı öğelerin stil düzenini normalize eder ve farklı tarayıcılarda aynı görünümü sağlar.
DRY (Don't Repeat Yourself) ve BEM (Block Element Modifier) kodlama düzeni, programlama sürecini ve kod okunabilirliğini geliştirir.
DRY kodlama, tekrarlamayan, daha az kod yazmanızı sağlar. Bu, kodun daha az karmaşık hale gelmesine ve yönetilmesinin daha kolay olmasına yardımcı olur.
BEM kullanarak, web sayfanızdaki öğeleri blok, eleman ve modifiye olmak üzere farklı kategorilere ayırabilirsiniz. Bu, kodun daha okunaklı hale gelmesine yardımcı olur ve daha az hata yapmanızı sağlar.
CSS sprites, sayfa yüklemesini hızlandırır ve sunucu isteklerini azaltır. Tek bir resim dosyası, birden fazla resmi içerdiği için, sayfadaki resimlerin yüklenmesi daha hızlı olur.
justify-contentözelliği, web tasarımında önemli bir rol oynar. Bu özellik, içeriği yatay düzlemde hizalar. Böylece sayfanızdaki öğeler arasındaki boşlukları ortadan kaldırarak daha düzenli bir görünüm sağlar. Bu özellik, ayrıca farklı boyutlarda öğelerin hizalanması için de kullanılır. Flexbox kullanırken, justify-content özelliğini doğru bir şekilde kullanmak, web sayfanızın tasarımını optimize etmek için kritik önem taşır. Bu özellik, öğelerin sağa, sola, merkeze, uzaklığa veya yere göre hizalanmasını sağlar. Aşağıdaki tabloda bu özellikte kullanabileceğiniz bazı değerler verilmiştir.
Değer | Açıklama |
---|---|
flex-start | Öğeleri sol kenara hizalar. |
flex-end | Öğeleri sağ kenara hizalar. |
center | Öğeleri merkeze hizalar. |
space-between | Öğeleri eşit aralıklarla düzleştirir. |
space-around | Öğeleri eşit aralıklarla düzleştirir ve öğelerin etrafında boşluk bırakır. |
Bunlar, birkaç örnektir ve daha pek çok değer de kullanılabilir. Ancak, öğelerin tasarımınıza ve sayfanızın amacına uygun olarak seçtiğiniz değerlerin doğru olduğundan emin olmalısınız. Bu özellik, Flexbox'ta sıklıkla kullanılır ve sayfanızı hızlı ve etkili bir şekilde tasarlamanıza yardımcı olur.
özelliklerini doğru bir şekilde kullanın.Flexbox, web sayfanızın düzenini etkili bir şekilde kontrol etmenizi sağlar. Ancak, flexbox'u kullanmak için doğru özellikleri kullanmak önemlidir.
align-items Özelliği: align-items özelliği, içerikleri dikey düzlemde hizalar. Bu özellik, öğelerin dikey düzlemde nasıl hizalanacağını belirler. Örneğin, align-items: center; kullanarak, öğeleri dikey olarak ortalar.
justify-content Özelliği: justify-content özelliği, içerikleri yatay düzlemde hizalar. Bu özellik, öğelerin yatay düzlemde nasıl hizalanacağını belirler. Örneğin, justify-content: space-between; kullanarak, öğeleri yatay olarak eşit aralıklarla hizalar.
Özellik | Açıklama | Mevcut Değerler |
---|---|---|
align-items | Dikey düzlemde hizalama | stretch | center | flex-start | flex-end | baseline |
justify-content | Yatay düzlemde hizalama | flex-start | flex-end | center | space-between | space-around |
Not: Doğru bir şekilde kullanılan align-items ve justify-content özellikleri, içeriklerin tasarımını etkileyerek daha profesyonel bir görünüm sağlar.
2.1.1 Align-items
2.1.1 Align-items
Align-items özelliği, Flexbox ile içerikleri dikey düzlemde hizalamak için kullanılan bir CSS özelliğidir. Bu özellik sayesinde, içeriklerin dikey düzlemde hizalanması sağlanarak, web sayfasının düzeni daha tutarlı hale getirilir. Align-items özelliği, genellikle <div>
gibi blok elementlerinin içinde kullanılır.
Align-items özelliği için kullanılan değerler şunlardır:
Değer | Açıklama |
---|---|
stretch | İçerikleri dikey düzlemde blok boyutuna kadar uzatır |
center | İçerikleri dikey düzlemde merkeze hizalar |
flex-start | İçerikleri dikey düzlemde başlangıç noktasına hizalar |
flex-end | İçerikleri dikey düzlemde bitiş noktasına hizalar |
baseline | İçerikleri dikey düzlemde satır taban çizgisine hizalar |
Örneğin, aşağıdaki CSS kodu ile içerikleri dikey düzlemde ortalamak için align-items özelliği kullanılabilir:
.container { display: flex; align-items: center;}
Bu kod, .container sınıfına sahip öğelerin içindeki içerikleri dikey düzlemde merkeze hizalar. Bu sayede, içeriklerin blok elementi içinde uygun bir şekilde hizalanması sağlanmış olur.
2.1.2 Justify-content
Web sayfalarında içeriklerin yatay düzlemde hizalanması için kullanılan justify-content özelliği, içeriklerin sola, sağa veya merkeze hizalanmasını sağlar. Bu özellik ile, içeriklerin konumunu belirleyebilir ve web sayfalarınızda daha düzenli ve hoş bir görüntü sağlayabilirsiniz.
justify-content özelliği altında kullanabileceğiniz farklı seçenekler vardır. Bu seçenekler şunlardır;
- flex-start: İçerikleri sol tarafa yaslar
- flex-end: İçerikleri sağ tarafa yaslar
- center: İçerikleri merkeze hizalar
- space-between: İçerikler arasında boşluk bırakır ve birinci içeriği sayfanın soluna, son içeriği ise sayfanın sağ tarasına yaslar.
- space-around: İçerikler arasında boşluk bırakır ve eşit sayıda boşluk bırakarak içerikleri hem sağa hem de sola yaslar.
Örneğin, bir dizi e-posta abonelik kutusunu web sayfanızın ortasına hizalamak istiyorsunuz. Bu durumda, içerikleri merkezlemek için justify-content özelliğini kullanabilirsiniz. Böylece, kutularınızın konumunu belirleyebilir ve sayfanızın genel düzenini geliştirebilirsiniz. Ancak, bu özellik daha önce belirttiğimiz gibi, sadece içerik konumunu belirlemekle kalmayıp, sayfanızın genel stilini de etkileyebilir. Bu nedenle, ölçüleri ve hizalama seçeneklerini özenle belirlemeniz, web sayfanızın estetiği açısından önemlidir.
2.2 Browser Uyumluluğunu Kontrol Edin
Flexbox, tasarımınızı hızlı ve kolay bir şekilde kontrol etmenizi sağlar, ancak farklı tarayıcılarda sorunlar oluşabilir. Bu nedenle, tasarımınızı farklı tarayıcılarda kontrol etmeyi unutmayın. Tarayıcılarda uyumluluk sorunları yaşarsanız, sorunu belirleyebilmek için tarayıcı geliştirici araçlarını kullanın. Sorunu tespit etmek için özellikle Internet Explorer gibi eski tarayıcılarda test yapmanız önerilir.
3. Normalize.css Kullanın
Normalize.css, web sayfanızdaki farklı öğelerin stil düzenini normalize ederek, farklı tarayıcılarda aynı görünümü sağlar. Bu kütüphane, CSS'in standartlaşmasını sağlar ve tarayıcıların farklı CSS özelliklerini desteklemesi nedeniyle oluşan stil farklılıklarını giderir. Böylece, sayfanızın her ziyaretçisi aynı düzen ve stil yapısına sahip olur.
Normalize.css kullanmak, web tasarımında kullanılan farklı elementlerin stil ve görüntülerinin değiştirilmesine olanak tanır. Özellikle, farklı elementler arasında iyi bir uyum sağlamak için etkilidir. Böylece, web sayfanızdaki öğeler arasındaki uyum daha da artar.
Normalize.css, stil dosyalarınıza önceden yazılmış bir stil dosyası olarak eklenir ve tarayıcı desteklemesi nedeniyle oluşan stil farklılıklarını ortadan kaldırarak, web sayfasının daha iyi bir görünüm kazanmasını sağlar. Bu kütüphane sayesinde, tarayıcı uyumluluğu ve web sayfasının tutarlılığı sağlanır.
4. DRY ve BEM Düzeninde Kodlama Yapın
Kodlama sürecinde, DRY (Don't Repeat Yourself) ve BEM (Block Element Modifier) kodlama düzeni, programlama sürecini ve kod okunabilirliğini geliştirir. DRY kodlama, tekrarlamayan, daha az kod yazmanızı sağlayarak kodun okunabilirliğini artırır. Bu yöntemle, kodda tekrarlanan bloklar ortadan kalkar ve güncelleme işlemleri daha kolay hale gelir. BEM Kodlama kullanarak, web sayfanızdaki öğeleri blok, eleman ve modifiye olmak üzere farklı kategorilere ayırabilirsiniz. Bu sistem, kodun daha düzenli ve anlaşılır hale gelmesini sağlar.
Bu düzenler, HTML ve CSS dosyalarındaki karmaşıklığı azaltır ve iş akışını hızlandırır. Ayrıca, tamamlanan projelerin bakımını ve genişletilmesini daha kolay hale getirir. Notasyonların standardize edilmesi, ekip çalışması sırasında farklı geliştiriciler arasında kolay bir uyum sağlar.
BEM yöntemi kullanımı daha çok devreye girdiği süreçlerde, DRY prensipleri sıklıkla kullanılan bir prensip haline geldi. İki farklı prensip olmasına rağmen, birbiriyle uyumlu ve aynı anda kullanılabilecek düzenlerdir. Bu prensipleri öğrenebilen ve uygulayan geliştiriciler, kodlama işlerinde daha yetenekli ve profesyonel hale gelecektir.
4.1 DRY Kodlama
DRY kodlama, bir projede tekrarlamayan ve kod yazımını azaltan bir programlama yaklaşımıdır. Bu yaklaşımı kullanarak, uygulamanızdaki farklı bölümler arasındaki kod tekrarını önleyebilirsiniz. Kodunuzu daha az tekrarlamak, kod okunabilirliğini ve bakımını artırır.
Bir örnek olarak, benzer bir stil yapılandırması olan elementleri düşünün. Bu durumda, tasarımda farklı elementlerde aynı stil yapılandırması kullanılabileceğinden, stil kodlarını yeniden yazmak gereksiz olacaktır. Bu tür durumlar için DRY kodlama yapmak önemlidir.
Yapılacak | Yapılmayacak |
---|---|
|
|
Bu nedenle, DRY kodlama uygulayarak daha az kod yazmak, daha az hata yapmak ve kod okunabilirliğini artırmak için önemlidir.
4.2 BEM Kodlama
BEM (Block Element Modifier), web sayfanızdaki öğeleri daha kolay anlaşılır hale getirmek için kullanışlı bir yaklaşımdır. Bu yaklaşım, öğeleri blok, eleman ve modifiye olmak üzere farklı kategorilere ayırmanızı sağlar.
Bir BEM sınıf adı, önce blok adı ile başlar. Blok adı, sayfanızdaki bölümleri temsil eder. Herhangi bir blok adı, özgün ve özelleştirilebilir olmalıdır. Daha sonra, çizgi ile ayrılan bir element adı gelir. Bu element, blok içerisindeki özgün bir bileşendir. Element adı, blok adıyla birlikte kullanılarak benzersiz olmalıdır. En sonunda ise bir veya birden fazla modifiye adı bulunur. Bunlar, blokların değiştirilmiş versiyonlarını temsil eder.
BEM Sınıf Adı | Açıklama |
---|---|
.menu | Temel blok |
.menu__item | Menü elementi |
.menu__item--active | Aktif menü elementi |
Bu örnekte, ".menu" blok adı, sayfanızdaki menüyü temsil eder. ".menu__item", menüdeki her bir öğeyi temsil ederken, ".menu__item--active" ise o an aktif olan menü öğesini temsil eder. Bu kodlama, stil sayfalarınızda daha iyi bir yapı sağlar ve kod tekrarını azaltarak, sürdürülebilirliği artırır.
5. CSS Sprites Kullanın
CSS sprites, web sayfanızdaki birden fazla küçük resmi bir araya getirerek, tek bir büyük resim haline getirir ve böylece sunucu isteklerini azaltır. Bu, özellikle web sayfanızda birkaç küçük resim kullanıyorsanız oldukça yararlıdır. Ayrıca, CSS sprites kullanarak sayfa yüklemesini hızlandırabilirsiniz. Çünkü, küçük resimlerin hepsini tek bir kaynakta birleştirdiğinizde, tarayıcı bu kaynağı bir kerede yükleyebilir ve böylece sunucu istekleri azaltarak sayfa yüklemesindeki gecikmeleri engelleyebilirsiniz.
Örneğin, web sayfanızda, menü simgeleri ve sosyal medya simgeleri kullanıyorsanız, CSS sprites kullanarak bu simgeleri birleştirebilirsiniz. Bu şekilde, kullanıcının menüyü açması veya sosyal medyadaki profilinizi ziyaret etmesi gibi işlemler sırasında daha az sunucu isteği yapılacak ve daha hızlı bir şekilde gerçekleşecektir.
CSS sprites kullanmak oldukça basit ve kolaydır. İlk önce, küçük resim dosyalarınızı birleştirmeniz ve büyük bir resim haline getirmeniz gerekiyor. Daha sonra, CSS kodunuzu yazmanız ve arka plan resmi kullanarak küçük resimlerinizin doğru bölümünü seçmeniz gerekiyor. Aşağıdaki örnek kodu kullanarak CSS sprites kullanımına başlayabilirsiniz:
Kod | Açıklama |
---|---|
.menu-icon { | Menü simgesi için CSS stilini belirtir. |
background: url(menu-sprites.png) 0 0; | Arka plan olarak kullanmak için CSS sprite büyük resmini belirtir. |
background-position: 0 -30px; | Doğru bölümü seçer. |
Bu örnek kodda, ".menu-icon" sınıfı, "menu-sprites.png" büyük resmi için arka plan olarak kullanılır. "background-position" özelliği, doğru bölümü seçmek için kullanılır.
Yukarıdaki örnekteki kodu kullanarak, web sayfanızdaki sayfa yüklemesini hızlandırmak için CSS sprites kullanabilirsiniz. Ancak, CSS sprites kullanırken, sprite resimlerinizin boyutunu optimize etmek ve doğru bölümleri seçmek için dikkatli olmanız gerektiğini unutmayın.