CSS Kaydırma Çubuğu Oluşturucu
Özel kaydırma çubukları eskiden üretici önekli sözde öğelerden oluşan bir kâbustu. Bugün scrollbar-color ve scrollbar-width, tüm modern tarayıcılardaki yaygın durumları karşılar: dar veya normal genişlik ve iki renkli tema (sürgü ve iz). Piksel düzeyinde denetim için (izin iç boşluğu, sürgünün yarıçapı, imleç üzerine gelme durumları) eski ::-webkit-scrollbar sözde öğeleri Chrome ve Safari’de hâlâ çalışır. Bu oluşturucu her iki sürümü de üretir ve doğru biçimde art arda uygular.
Bir kaydırma çubuğuna nasıl stil verilir
-
1
Genişliği seçin
Auto (platformun varsayılan genişliği), ince (daha dar) veya webkit kuralları aracılığıyla belirli bir piksel değeri.
-
2
Sürgü ve iz renklerini ayarlayın
Modern `scrollbar-color` iki renk alır. Webkit kuralları ayrı renk, yarıçap ve imleç üzerine gelme durumları sunar.
-
3
İmleç üzerine gelme efekti ekleyin (isteğe bağlı)
Sürgü, imleç üzerine gelince aydınlanır. `::-webkit-scrollbar-thumb:hover` ile çalışır.
-
4
Kapsamı belirleyin
`html` / `body` öğesine (tüm sayfa) veya yalnızca belirli bir kaydırılabilir kapsayıcıya uygulayın.
-
5
CSS'i kopyalayın
Birleştirilmiş modern ve webkit kuralları: her modern tarayıcıda düzgün bir yedekle çalışır.
Modern standart özellikler (2023 ve sonrası)
/* Applies to the element that scrolls */
html {
scrollbar-width: thin; /* auto | thin | none */
scrollbar-color: #4f46e5 #e5e7eb; /* thumb track */
}
Tarayıcı desteği (2024):
scrollbar-width: Chrome 121+, Safari 18.2+, Firefox 64+.scrollbar-color: Chrome 121+, Safari 18.2+, Firefox 64+.scrollbar-gutter: stable: Chrome 94+, Safari 14+, Firefox 97+. Gerek olmadığında bile kaydırma çubuğu boşluğunu ayırarak yerleşim kaymasını önler.
Webkit sözde öğeleri (Chrome, Safari, eski Edge)
::-webkit-scrollbar {
width: 10px;
height: 10px;
}
::-webkit-scrollbar-track {
background: #e5e7eb;
border-radius: 10px;
}
::-webkit-scrollbar-thumb {
background: #4f46e5;
border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
background: #3730a3;
}
Daha ayrıntılı denetim. width, dikey kaydırma çubuğunun genişliğini; height ise yatay kaydırma çubuğunun yüksekliğini ayarlar. Her iki yönde de kaydırılabilen kapsayıcılar için ikisini de ekleyin.
İki yaklaşımı art arda uygulayın
Önce modern kuralları, ardından her ikisini de işleyen tarayıcılar için bir geliştirme olarak webkit kurallarını belirtin:
.scroll-area {
scrollbar-width: thin;
scrollbar-color: #4f46e5 #e5e7eb;
}
.scroll-area::-webkit-scrollbar { width: 8px; }
.scroll-area::-webkit-scrollbar-track { background: #e5e7eb; }
.scroll-area::-webkit-scrollbar-thumb {
background: #4f46e5;
border-radius: 4px;
border: 2px solid #e5e7eb;
}
Firefox yalnızca modern scrollbar-* kurallarını dikkate alır. Chrome ve Safari, webkit kurallarını dikkate alır (bunlar modern kuralları geçersiz kılar, böylece davranış tutarlı kalır).
scrollbar-gutter içeriğin kaymasını önler
Ayrılmış bir boşluk olmadan, kaydırma çubuğu göründüğünde içerik yeniden akar (dinamik listelerde sık görülür). Çözüm:
html { scrollbar-gutter: stable; }
/* or */
html { scrollbar-gutter: stable both-edges; }
İçerik kaysa da kaymasa da kaydırma çubuğu yuvası ayrılır. both-edges, içeriği görsel olarak ortalamak için karşı tarafa eşleşen bir boşluk ekler.
Kaydırma çubuklarını tamamen gizleme
.no-scrollbar {
scrollbar-width: none; /* Firefox */
}
.no-scrollbar::-webkit-scrollbar { display: none; } /* Chrome, Safari */
Dikkatli olun: kaydırma çubuğunu gizlemek, kullanıcıların içeriğin kaydırılabildiğini görmesini engeller. Yalnızca net bir gösterge ile (oklar, sayfa noktaları) veya kaydırma davranışı bağlamdan açıkça anlaşıldığında (yatay taşıyıcılar, sohbet geçmişleri) kullanın.
Mobil için dikkat edilecekler
iOS ve Android’de kaydırma çubukları yalnızca kaydırma sırasında bir an görünür. Özel kaydırma çubuğu CSS’iniz yine de uygulanır, ancak kullanıcılar onu bir saniyeden fazla göremeyebilir. Buna göre tasarlayın: nadiren görünen görsel süslemelere fazla yatırım yapmayın.
Erişilebilirlik
- Kontrast: sürgünün ize göre kontrastı, metin dışı kontrast için 3:1 oranını karşılamalıdır (WCAG 1.4.11).
- Genişlik: ince kaydırma çubuklarını fareyle kavramak zor olabilir; özellikle motor bozukluğu olan kullanıcılar için. Normal genişlik daha güvenli bir varsayılandır.
- Kaydırılabilir bölgelerde kaydırma çubuğunu asla kaldırmayın ve başka bir kaydırma yolu sunmayın. Kaydırma çubuğuna bağımlı kullanıcılar aksi hâlde takılıp kalır.
Sık Sorulan Sorular
Evet, modern scrollbar-width ve scrollbar-color özellikleriyle. Firefox, webkit sözde öğelerini desteklemez; bu nedenle tarayıcılar arasında tutarlı bir görünüm için önce modern özellikleri kullanın ve webkit kurallarını bir geliştirme olarak ekleyin.
Çünkü varsayılan kaydırma çubukları içeriğin üzerine biner ve gerekene kadar yer ayırmaz. Kaydırma çubuğu göründüğünde veya kaybolduğunda yeniden akışı önlemek için boşluğu her zaman ayırmak üzere kaydırılabilir öğeye scrollbar-gutter: stable uygulayın.
Genellikle evet, çünkü kaydırma çubuğu yersiz görünür ve içerikle çekişir. Kullanıcıların içeriğin kaydığını yine de anlaması için görünür sayfalama noktaları veya ok denetimleri ekleyin. Kaydırma yaslama (scroll-snapping) kullanıyorsanız prefers-reduced-motion tercihine uyun.
Etkileyebilir. Çok ince veya düşük kontrastlı kaydırma çubukları, motor bozukluğu olan ve az gören kullanıcılar için kullanması zordur. Rahat kavranması için kaydırma çubuğunu en az 8–10 px genişliğinde tutun ve sürgü ile iz arasında 3:1 kontrast koruyun.
İlgili Araçlar
FPS Sayacı
requestAnimationFrame ile tarayıcı FPS değerini ölçün: yumuşatma, en düşük ve en yüksek kare hızı, uyarı eşiği ve isteğe bağlı grafik. Yerel çalışır, yükleme ve API yoktur.
Webpack Yapılandırma Oluşturucu
Kısa bir formdan webpack 5 için bir webpack.config.js oluşturun: entry, çıkış klasörü ve modu ayarlayın; ardından TypeScript, Babel, bir CSS yükleyici, HtmlWebpackPlugin ve bir dev sunucu açın.
Dosya Boyutu Dönüştürücü
Bayt, KB, MB, GB, TB ve ikili IEC birimleri (KiB, MiB, GiB, TiB) arasında, ondalık ve ikiliyi dilediğiniz gibi birleştirerek dönüşüm yapın.
Telefon numarası doğrulayıcı
Telefon numarasının ülkeye göre yapısını denetleyin; bölge, tür, E.164, uluslararası, ulusal ve RFC 3966 biçimlerini görün.
Kurgusal telefon numarası oluşturucu
Beş ülkede resmen ayrılmış aralıklardan 50 adede kadar kurgusal numara üretin.
Rastgele adres oluşturucu
Arayüz maketleri ve testler için üç basitleştirilmiş biçimde 1–20 adres benzeri kayıt oluşturun.
Araç diğer dillerde mevcuttur
- CSSスクロールバージェネレーター [JA]
- CSS-generator för rullningslist [SV]
- Generator Bilah Gulir CSS [ID]
- Gerador de barra de rolagem CSS [PT]
- CSS 스크롤바 생성기 [KO]
- Générateur de barre de défilement CSS [FR]
- CSS-schuifbalkgenerator [NL]
- Trình tạo thanh cuộn CSS [VI]
- CSS-Scrollbar-Generator [DE]
- مولّد شريط التمرير CSS [AR]
- เครื่องสร้างแถบเลื่อน CSS [TH]
- Generator paska przewijania CSS [PL]
- Generador de barra de desplazamiento CSS [ES]
- Генератор CSS-скроллбара [RU]
- CSS滚动条生成器 [ZH]
- Generatore di barre di scorrimento CSS [IT]
- CSS Scrollbar Generator [EN]