Genişlik ve Yükseklik
Genişlik (width) ve yükseklik (height), CSS’in temel ve en kritik özelliklerinden olup, web sayfalarındaki elemanların boyutlarını belirlemek için kullanılır. Bir ev inşa ederken odaların büyüklüğünü ve düzenini planlamak gibi, web tasarımında da her bir içerik bloğunun kapladığı alanı doğru belirlemek kullanıcı deneyimini doğrudan etkiler. Genişlik ve yükseklik sayesinde görsel düzen sağlanır, okunabilirlik artırılır ve farklı cihazlara uyum sağlanır.
Özellikle kişisel web sitelerinde, bloglarda, e-ticaret sitelerinde ve haber portallarında bu özellikler, içeriklerin doğru şekilde yerleşmesini, görsellerin ideal boyutlarda görünmesini ve sayfa düzeninin bozulmamasını sağlar. Bu özelliklerin doğru kullanımı, tasarımın hem estetik hem de işlevsel olmasına olanak verir.
Bu eğitimde genişlik ve yüksekliğin temel kavramlarından başlayarak, farklı birimlerle kullanımını, responsive tasarım için dikkat edilmesi gerekenleri ve gelişmiş pratik uygulamalarını öğreneceksiniz. Tıpkı bir mektup yazarken sayfa düzenini ve boşlukları özenle ayarlamak gibi, burada da içeriklerinizin boyutlarını optimize etmeyi keşfedeceksiniz.
Temel Örnek
css/* Basic fixed size container */
.container {
width: 400px; /* fixed width */
height: 300px; /* fixed height */
background-color: #4CAF50; /* green background for visibility */
margin: 20px auto; /* center horizontally with vertical margin */
border-radius: 10px; /* rounded corners */
}
Yukarıdaki örnekte .container
sınıfı sabit genişlik (400px) ve yükseklik (300px) değerlerine sahiptir. Bu, elemanın her zaman belirtilen boyutlarda görüntüleneceği anlamına gelir. background-color
özelliği, kutunun alanını görsel olarak belirginleştirir. margin: 20px auto;
ise elemanı yatayda ortalar ve üst-alt boşluk bırakır.
CSS’de genişlik ve yükseklik değerleri sayısal ve birim kombinasyonları ile yazılır (örneğin, px, %, vw, vh gibi). Piksel (px) sabit ölçüdür ve genellikle kesin boyut gerektiren durumlarda tercih edilir. Bu örnek, özellikle sabit boyutlu görseller veya kutular için uygun olsa da, tüm cihazlarda uyum sağlamak adına esneklik sağlamaz. İlerleyen örneklerde ise bu eksiklikler giderilerek responsive tasarımlar için ideal çözümler sunulacaktır.
Pratik Örnek
css/* Responsive card for blog post */
.blog-card {
width: 90%; /* relative width to parent */
max-width: 600px; /* maximum width limit */
min-height: 350px; /* minimum height */
height: auto; /* adapt height to content */
padding: 25px;
margin: 30px auto;
background-color: #f9f9f9;
box-sizing: border-box; /* include padding in width/height */
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
border-radius: 15px;
}
Bu pratik örnekte .blog-card
sınıfı, genişlik için yüzde (%) kullanılarak esnek bir yapı oluşturur. width: 90%
değeri, elemanın ebeveyninin %90’ını kaplamasını sağlar. Ancak, max-width: 600px
ile çok büyük ekranlarda aşırı genişlemesi engellenmiştir. Bu, farklı ekran genişliklerine uyum sağlayan, yani responsive bir yapının temelidir.
min-height: 350px
ile minimum yükseklik belirlenir; böylece içerik az olsa bile kart yeterince büyük kalır ve tasarımda boşluk görünmez. height: auto
sayesinde yükseklik, içerisindeki içeriğe göre dinamik olarak değişir. box-sizing: border-box
kullanımı ile padding ve border değerleri toplam genişlik ve yüksekliğe dahil edilir, bu da boyut hesaplamalarını kolaylaştırır.
Bu yapı, özellikle blog yazısı kartları, ürün listeleme gibi değişken içerik barındıran e-ticaret siteleri ve haber portalları için idealdir. Hem esnek hem de kontrollü bir tasarım sunar.
En İyi Uygulamalar ve Yaygın Hatalar:
En iyi uygulamalar:
- Mobil öncelikli tasarım (mobile-first) yaklaşımı benimseyerek genişlik ve yüksekliği yüzde (%) veya rem gibi göreceli birimlerle tanımlayın.
max-width
vemin-height
gibi sınırlandırmalarla esneklik ve kontrol arasında denge kurun.box-sizing: border-box
kullanarak padding ve border'ın boyutlara etkisini doğru yönetin.-
Tasarımınızı farklı cihaz ve tarayıcılarda test ederek tutarlılığı sağlayın.
Yaygın hatalar: -
Tüm ölçüleri sabit piksel olarak belirlemek, küçük ekranlarda uyumsuzluk yaratır.
height
değerini içerikten bağımsız sabit vermek, taşma veya boşluk sorunlarına yol açar.- CSS seçici özgüllük (specificity) çakışmalarını göz ardı etmek, beklenmeyen stil değişikliklerine neden olur.
- Çok fazla stil üst üste bindirmek (override etmek), bakım zorluğu ve performans sorunları doğurur.
Hata ayıklama için tarayıcı geliştirici araçları kullanılmalı, özellikle boyut ve kutu modelini (box model) detaylı analiz etmek çok faydalıdır.
📊 Hızlı Referans
Property/Method | Açıklama | Örnek |
---|---|---|
width | Elemanın genişliğini belirler | width: 100%; |
height | Elemanın yüksekliğini belirler | height: 400px; |
max-width | Maksimum genişlik sınırı koyar | max-width: 800px; |
min-height | Minimum yükseklik sınırı koyar | min-height: 200px; |
box-sizing | Kutu modelinin hesaplanma şeklini belirler | box-sizing: border-box; |
height: auto | Yüksekliği içeriğe göre otomatik ayarlar | height: auto; |
Bu eğitimde genişlik ve yüksekliğin temel kavramlarını ve gelişmiş uygulamalarını inceledik. Bu özellikler, HTML elemanlarının görünümünü ve düzenini kontrol etmenin temel yoludur. Ayrıca, JavaScript ile dinamik boyut ayarlamaları yaparak daha etkileşimli web sayfaları oluşturabilirsiniz.
Bir sonraki adım olarak, CSS Flexbox ve Grid gibi düzen sistemlerini öğrenmek genişlik ve yükseklik kontrolünde size daha fazla esneklik ve güç kazandıracaktır. Tasarımınızı sürekli olarak farklı cihazlarda test etmek, gerçek dünya kullanımına uygun siteler yapmanızı sağlayacaktır.
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu konudaki anlayışınızı pratik sorularla test edin.
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek