Sobes.tech
Junior

CSS'de display özelliğinin temel anlamı nedir ve nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

display özelliği, bir öğenin belgede nasıl görüntüleneceğini ve diğer öğelerle nasıl etkileşime gireceğini belirler; bu, düzen akışında (layout flow) yer alır. Öğenin biçimlendirme bloğu türünü tanımlar.

Ana değerler:

  • block: Öğenin biçimlendirmesi blok şeklindedir. Tüm kullanılabilir genişliği kaplar, yeni bir satırda başlar ve belirli boyutlara (width, height) sahip olabilir.
  • inline: Öğenin biçimlendirmesi satır içi. Yeni bir satır başlatmaz, yalnızca gereken genişliği kaplar ve belirli boyutlara (width, height) sahip olamaz. Dikey kenar boşlukları (margin-top, margin-bottom) ve iç boşluklar (padding-top, padding-bottom) çevresindeki öğeleri etkilemez.
  • inline-block: Satır içi biçimlendirilmiş, ancak satır içinde blok gibi davranır. Yeni satır başlatmaz, belirli boyutlara (width, height) sahip olabilir ve çevresindeki öğeleri etkileyen dikey kenar boşlukları ve iç boşluklar içerebilir.
  • none: Öğenin ve içeriğinin görüntülenmesini engeller. Öğeyi belge akışından tamamen kaldırır ve yer kaplamaz.
  • flex: Öğeyi Flex konteyner yapar ve doğrudan alt öğeleri Flex öğeleri olur. Esnek düzenler oluşturmak için kullanılır.
  • grid: Öğeyi Grid konteyner yapar. ızgara tabanlı düzenler oluşturmak için kullanılır.

Nasıl çalışır:

Tarayıcı, display değerini kullanarak öğenin bulunduğu biçimlendirme bağlamı türünü belirler. Bu, şunları etkiler:

  • Belge akışı: Öğenin komşularına göre konumlandırılması.
  • Öğe boyutları: Genişlik ve yükseklik ayarlama imkanı ve içeriğin boyutlara etkisi.
  • Çevreleyen öğelere etkisi: Öğenin kenar boşlukları ve boyutlarının diğer öğelerin düzenlenmesini nasıl etkilediği.

Örnek:

/* display: block olan öğe */
div {
  display: block;
  width: 100%; /* Tüm genişliği kaplar */
  margin-bottom: 10px; /* Dikey boşluk oluşturur */
}

/* display: inline olan öğe */
span {
  display: inline;
  /* width ve height yok sayılır */
  /* margin-top ve margin-bottom yok sayılır */
}

/* display: inline-block olan öğe */
img {
  display: inline-block;
  width: 100px; /* Genişlik ayarlanabilir */
  height: 100px; /* Yükseklik ayarlanabilir */
  margin: 5px; /* Tüm kenarlarda boşluk oluşturur */
}

/* Gizli öğe */
.hidden {
  display: none;
}