Boşluk süslemeleri: Artık Chromium'da kullanılabilir

Javier Contreras
Javier Contreras
Sam Davis Omekara
Sam Davis Omekara

Yayınlanma tarihi: 15 Mayıs 2026

CSS boşluk süslemeleri, Chrome ve Edge'in 149. sürümünden itibaren kullanılabilir. Kenarlıklar veya sözde öğeler kullanmadan ızgara, flexbox ve çok sütunlu düzenler arasındaki boşlukları şekillendirin. Bu özellik, Microsoft Edge ve Google Chrome ekiplerinin işbirliğiyle geliştirilmiştir.

Sorun

Sütunlar ve satırlar arasında çizgiler bulunan bir ızgara düzeni.

Düzen öğeleri arasındaki stil boşlukları için her zaman geçici çözümler gerekmiştir. Ayrı öğeler, sözde öğeler ve arka plan hileleri üzerindeki kenarlıklar. Bu yaklaşımların maliyetleri vardır:

  • Yapıya bağlıdır. Görsel ayırıcı eklemek, işaretlemenizi değiştirmek veya belirli öğeler için seçiciler yazmak anlamına gelir.
  • Erişilebilirliği engellerler. Ekstra DOM öğeleri, gerekmediği halde erişilebilirlik ağacında gösteriliyor.
  • Bakımları zordur. Duyarlı düzenler, boşluk stilinizin dayandığı varsayımları bozar.
  • Performansı olumsuz etkilerler. Daha fazla DOM düğümü, daha fazla düzen çalışması anlamına gelir.
  • Yazma ergonomileri zayıftır. İşlerin doğru şekilde çalışması için genellikle karmaşık geometrik hesaplamalar yapılması gerekiyordu.

column-rule özelliği, çok sütunlu düzenlerdeki boşluk süslemelerini işler ancak ızgara ve esnek kutu daha önce eşdeğer işlevselliğe sahip değildi.

Çözüm

Izgara ve flexbox kapsayıcıları artık column-rule kabul ediyor. Yeni bir row-rule özelliği, yatay boşlukları işler. Bu süslemeler tamamen görseldir ve mevcut düzenleri etkilemez. Çok sütunlu düzenlerde column-rule özelliğini kullanıyorsanız mevcut davranış aynı kalır.

Örneğin, sütun ve satır kuralları için stil listesi kullanan üç panelli bir esnek kapsayıcıyı aşağıda görebilirsiniz:

.flex-split {
  column-rule-width: 2px;
  column-rule-style: dashed, solid;
  column-rule-color: #d4d0c8;
}
Sütun kuralları içeren üç panelli düzen.
Boşluk süslemeleriyle bölünmüş ekran demosunu deneyin

Bu örnekte gösterildiği gibi, hem row-rule hem de column-rule genişlik, stil ve renk için aynı kısaltmayı kabul eder. İkisini de aynı anda ayarlamak için rule kısaltmasını kullanın.

Yeni mülkler

Ancak column-rule özelliğini diğer düzen modlarına taşıyıp row karşılığını eklemekle yetinmedik. Ayrıca süslemelerinizi hassas bir şekilde ayarlamanıza olanak tanıyan denetimler de kullanıma sunduk: Süslemelerin kesişim noktalarında nasıl ayrılacağı, boşluk kenarlarından ne kadar içeride başlayacağı, öğelere göre ne zaman görüneceği ve boşluklar arasında stillerin nasıl değiştirileceği. Kural genişliği, renk ve iç kısımlar da animasyonlu olabilir.

repeat() söz dizimi

Boşluk süslemeleri, genişlik, stil ve renk değerleri için repeat() öğesini destekler. Bu sayede, kısa biçimdeki boşluklarda süslemeleri değiştirebilirsiniz. Bu, ızgaradaki parça tanımları için kullanılan repeat() söz dizimine benzer:

.settings-panel {
  row-rule: 1px solid #243352;
  row-rule-width: repeat(2, 1px), 4px;
}
Satır kuralları içeren ayarlar listesi.
Boşluk süslemeleriyle ayarlar görünümü demosunu deneyin

Bu, ilk iki satır boşluğuna 1 piksel, üçüncüye ise 4 piksel kuralı verir. Değerlerden daha fazla boşluk varsa bu işlem tekrarlanır. Ayrıca, birden fazla değeri doğrudan repeat() olmadan da iletebilirsiniz. Örneğin, bir takvimde saat ve yarım saat sınırları için alternatif satır kuralı stilleri:

.calendar {
  row-rule-width: 2px, 1px;
  row-rule-style: solid, dashed;
  row-rule-color: #e8e4df, #f0ece7;
}
Alternatif kenarlıklı bir takvim düzeni.
Boşluk süslemeli takvim demosunu deneyin. Bu demoda, saat sınırları için kesintisiz bir çizgi, yarım saatler için ise kesikli bir çizgi kullanılıyor.

Dekorasyon kesmelerini kontrol etme

column-rule-break ve row-rule-break özellikleri, süslemelerin boşluk kesişim noktalarında nasıl davranacağını kontrol eder:

  • normal (varsayılan): Davranış, kapsayıcının türüne bağlıdır. Daha fazla bilgiyi spesifikasyonda bulabilirsiniz.
  • none: Süslemeler kavşaklarda kesintisiz olarak devam eder.
  • intersection: Satır ve sütun boşluklarının kesiştiği yerlerde süslemeler bozulur.

Örneğin, bir ızgara kapsayıcısında rule-break değerini intersection olarak ayarlarsanız kurallar devam etmek yerine boşluk kesişimlerinde bozulur:

.dashboard {
  column-rule-style: solid;
  column-rule-color: #fbbf24, #34d399;
  column-rule-width: 1px, 3px;
  column-rule-break: intersection;
  row-rule: 1px solid #1e1e36;
}
Sütun kurallarının bulunduğu bir kontrol paneli düzeni.
Boşluk süslemeleriyle kontrol paneli ızgarası demosunu deneyin.

rule-break değerini none olarak ayarlarsanız kurallar kavşaklarda sürekli olarak çalışır:

.grid {
  column-rule: 1px solid #5a9e9e;
  row-rule: 1px solid #c27a6b;
  rule-break: none;
}

Bu değeri etkileşimli deneme alanında deneyebilirsiniz.

Süslemeleri genişletme veya küçültme

column-rule-inset ve row-rule-inset özellikleri, süslemelerin bir boşluk içinde ne kadar uzayacağını kontrol eder. Kısa biçimle tüm kenarlarda aynı anda iç boşluk ayarlayabilir veya column-rule-inset-cap (kesişen boşlukları olmayan uç noktalar için) ve column-rule-inset-junction (diğer boşluklarla kesişen uç noktalar için) ile iç boşlukları asimetrik olarak hedefleyebilirsiniz.

Değerler uzunluk, yüzde veya boşluk süslemelerini köşelerde birleştiren overlap-join anahtar kelimesi olabilir. Örneğin, rule-inset değerini 5 piksel olarak ayarladığınızda tüm süslemeler 5 piksel içeriye doğru küçülür:

.container {
  display: flex;
  flex-wrap: wrap;
  column-rule: 1px solid #2a2a45;
  column-rule-color: #60a5fa, #34d399, #a78bfa;
  rule-inset: 5px;
  row-rule: 1px solid #2a2a45;
}
Çizgili bir kontrol paneli ızgarası.
Boşluk süslemeleriyle dinamik esnek öğeler demosunu deneyin.

rule-inset-cap değerini 0 piksel, rule-inset-junction değerini ise 10 piksel olarak ayarladığınızda, kapsayıcı kenarlarında düz olan ancak kesişim noktalarında içe doğru olan süslemeler elde edersiniz. Daha önce gösterilen kontrol paneli demosunda bu yaklaşım kullanılıyor ve fareyle üzerine gelindiğinde ekler animasyonlu hale geliyor:

.dashboard {
  rule-inset-cap: 0px;
  rule-inset-junction: 10px;
  transition: rule-inset-junction 0.4s;
}
.dashboard:hover {
  rule-inset-junction: 0px;
}
Sütun kurallarının bulunduğu bir kontrol paneli düzeni.
Boşluk süslemeleriyle kontrol paneli ızgarası demosunu deneyin.

Görünürlük

column-rule-visibility-items ve row-rule-visibility-items özellikleri, kuralların öğe bitişikliğine göre ne zaman görüneceğini kontrol eder:

  • normal (varsayılan): Kapsayıcı türüne bağlıdır.
  • all: Kurallar, boş olanlar da dahil olmak üzere her boşlukta görünür.
  • around: Kurallar, yan yana bir veya daha fazla öğenin bulunduğu her yerde gösterilir.
  • between: Kurallar yalnızca iki bitişik öğe arasında görünür.

rule-visibility-items kısaltması her ikisini de aynı anda ayarlar. rule-visibility-items değerini between olarak ayarladığınızda kurallar yalnızca bitişik öğeler arasında gösterilir:

section {
  rule: 2px solid black;
  rule-visibility-items: between;
}
Satırlar ve sütunlar arasında kuralların olduğu bir editoryal düzen.
Boşluk süslemeleriyle makale ızgarası demosunu deneyin.

Diğer yandan, rule-visibility-items ayarını all olarak belirlemek, bitişik öğeler olmasa bile her boşlukta kuralları gösterir:

section {
  rule: 2px solid black;
  rule-visibility-items: all;
}

Farkı görmek için canlı demoda değeri değiştirin.

Süslemelere animasyon ekleme

Kural genişliği, rengi ve iç kısımları animasyonlu olabilir. Fareyle üzerine gelindiğinde veya başka bir durum değişikliğinde geçiş yapabilirsiniz. Daha önce gösterilen kontrol paneli demosunda, fareyle üzerine gelindiğinde geçiş kuralı renkleri ve iç kısımlar kullanılıyor:

.dashboard {
  column-rule-color: #fbbf24, #34d399;
  rule-inset-junction: 10px;
  transition: column-rule-color 0.4s, rule-inset-junction 0.4s;
}

.dashboard:hover {
  column-rule-color: #3b82f6, #3b82f6;
  rule-inset-junction: 0px;
}

Demolar

Bu yayında gösterilen tüm demoları Edge demo sitesinde bulabilirsiniz.

Geliştirici deneme sürümü blog yazısında, etkileşimli deneme alanı, hamburger menüsü, not defteri düzeni ve sudoku ızgarası içeren dergi tarzı düzen gibi birçok demo daha yer alıyor.

Geliştirici denemesinden bu yana yapılan değişiklikler

Geliştirici denemesi (Chrome 139) sırasında boşluk süslemelerini denediyseniz aşağıdaki değişiklikleri göz önünde bulundurun:

  • Bu özellik varsayılan olarak kullanılabilir. Bayrak gerekmez.
  • Bazı özellik adları, en son spesifikasyona uygun olacak şekilde güncellendi (örneğin, column-rule-outset ve row-rule-outset, column-rule-inset ve row-rule-inset oldu).
  • column-rule-visibility-items ve row-rule-visibility-items özellikleri eklendi.
  • Animasyon desteği eklendi.

Boşluk süslemelerini bugün kullanın

Boşluk süslemeleri, Chrome ve Edge'in 149 sürümünden itibaren kullanılabilir. Boşluk süslemeleriniz tamamen dekoratifse bu özellik, progresif geliştirmedir. Desteklenmeyen tarayıcılarda boşluklar, görünür süslemeler olmadan normal şekilde oluşturulur. Henüz desteklenmeyen tarayıcılar için bir polyfill geliştirilmektedir.

Hataları Chromium sorun izleyici'de bildirin. Daha fazla bilgi için CSS Gap Decorations spesifikasyonuna bakın.