Tüm blog yazıları

CSS Flexbox: align-items Nedir?

Web geliştirmeye yeni başlayanlar için Flexbox, öğeleri düzenlemek ve hizalamak için oldukça kullanışlıdır. align-items özelliği, öğelerin çapraz eksen (cross axis) boyunca nasıl hizalanacağını belirler. Bu yazıda, <

eminbasbayan3 dk okuma
CSS Flexbox: align-items Nedir?

Web geliştirmeye yeni başlayanlar için Flexbox, öğeleri düzenlemek ve hizalamak için oldukça kullanışlıdır. align-items özelliği, öğelerin çapraz eksen (cross axis) boyunca nasıl hizalanacağını belirler. Bu yazıda, align-items kullanımı ve seçeneklerini detaylıca ele alacağız.

align-items Nedir?

Flexbox kullanırken içeriklerin çapraz eksende nasıl hizalanacağını belirlemek için align-items özelliğini kullanırız.

justify-content özelliği ana eksen boyunca hizalama yaparken, align-items özelliği çapraz eksen boyunca hizalamayı yönetir.

align-items için kullanılabilecek değerler şunlardır:

  1. flex-start
  2. flex-end
  3. center
  4. baseline
  5. stretch (varsayılan)

1. Başlangıca Hizalama: flex-start

css
.container {
    display: flex;
    align-items: flex-start; /* Öğeleri çapraz eksenin başlangıcına hizalar */
}

Bu durumda, öğeler çapraz eksenin başlangıcına hizalanır. Eğer flex-direction: row ise öğeler üst tarafa, flex-direction: column ise sol tarafa hizalanır.

2. Sona Hizalama: flex-end

css
.container {
    display: flex;
    align-items: flex-end;
}

Bu durumda, öğeler çapraz eksenin sonuna hizalanır. flex-direction: row olduğunda öğeler en altta toplanırken, flex-direction: column olduğunda sağa yaslanır.

3. Ortaya Hizalama: center

css
.container {
    display: flex;
    align-items: center;
}

Bu özellik, içeriklerin çapraz eksende tam ortada hizalanmasını sağlar. Eğer justify-content: center da kullanılırsa öğeler tam ortalanır.

4. Metin Satırlarını Hizalama: baseline

css
.container {
    display: flex;
    align-items: baseline;
}

Bu özellik, öğeleri içerdikleri metnin alt çizgisine (baseline) göre hizalar. Eğer her öğede farklı boyutlarda metin varsa, hepsi aynı metin çizgisine hizalanır.

5. Kapsayıcıya Göre Büyütme: stretch (Varsayılan)

css
.container {
    display: flex;
    align-items: stretch;
}

Bu özellik, öğeleri kapsayıcının yüksekliğini/sütunun genişliğini tamamen kaplayacak şekilde büyütür. Eğer öğelerin belirli bir yüksekliği yoksa, kapsayıcıya kadar uzar.

Örnek Uygulama

Aşağıdaki HTML yapısında beş adet div bulunuyor ve biz bunları align-items ile farklı şekillerde hizalayacağız:

html
<div class="container">
    <div class="box" style="background-color: green;">A</div>
    <div class="box" style="background-color: blue;">B</div>
    <div class="box" style="background-color: red;">C</div>
    <div class="box" style="background-color: yellow;">D</div>
    <div class="box" style="background-color: purple;">E</div>
</div>

Şimdi bu öğeleri flexbox ile farklı şekillerde hizalayalım:

css
.container {
    display: flex;
    align-items: center;
    width: 500px;
    height: 300px;
    margin: auto;
    border: 2px solid black;
}

.box {
    width: 100px;
    height: 100px;
    text-align: center;
    font-size: 20px;
    color: white;
}

Bu kodları çalıştırdığımızda, öğeler kapsayıcının çapraz ekseninde ortalanacaktır. Eğer align-items: flex-end; kullanırsak, öğeler en alt kısma hizalanacaktır.

align-items ve flex-direction İlişkisi

align-items, her zaman çapraz eksene göre hizalama yapar. Ancak çapraz eksen, flex-direction ile değiştirilebilir. Örneğin:

css
.container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

Bu durumda, öğeler dikey olarak sıralanır ve yatay eksenin ortasına hizalanır.

Sonuç

align-items özelliği, öğelerin çapraz eksende nasıl hizalanacağını belirleyen temel bir Flexbox özelliğidir. flex-start, flex-end, center, baseline ve stretch değerleri ile farklı hizalama seçenekleri sunar.

Öğelerin nasıl hizalanacağını belirlemek için, önce flex-direction ile ana eksenin yönünü belirleyip, ardından align-items ile öğelerin nasıl davranacağını düzenleyebiliriz.

Flexbox ile ilgili kafanıza takılan bir şey varsa, yorumlarda paylaşabilirsiniz!

CSS Flexbox: Order Nedir?
CSS Dersleri2 dk okuma

CSS Flexbox: Order Nedir?

Flexbox, web sayfalarında öğeleri esnek ve düzenli bir şekilde hizalamamızı sağlar. Flexbox’ın sunduğu en ilginç özelliklerden biri de order özelliğidir. Peki order tam olarak ne işe yarar?

Yazıyı oku

Çerez tercihlerin

Platformun çalışması için zorunlu çerezler kullanıyoruz. İzin verirsen anonim kullanım verilerini ölçüyoruz. Ayrıntıları incele