Border kısa yazımı
border, bir elementin çevresine, padding'i ile margin'i arasına bir çizgi çizer. Kısa yazım herhangi bir sırada üç parça alır: bir kalınlık, bir stil ve bir renk.
| Parça | Uzun yazım | Değerler | Varsayılan |
|---|---|---|---|
| Kalınlık | border-width | 1px, 0.2em, thin, medium, thick | medium |
| Stil | border-style | solid, dashed, dotted, double ve daha fazlası | none |
| Renk | border-color | Herhangi bir renk | currentColor (metin rengi) |
Atlayamayacağın tek parça stildir. Varsayılanı none olduğu için border: 2px #2563eb; hiçbir şey çizmez. Rengi yazmazsan kenarlık elementin metin rengini alır.
Kenarlık stilleri
double'ın iki çizgi göstermesi için en az 3px gerekir. groove, ridge, inset ve outset rengi 3B görünecek şekilde gölgelendirir ve tarayıcılar arasında biraz farklı görünür. hidden, none gibi görünür; ikisi yalnızca kenarlıkları birleştirilmiş tabloların içinde farklıdır, bunu HTML tablo kenarlığı sayfası anlatıyor.
Her seferinde tek kenar
Her kenarın kendi kısa yazımı (border-top, border-right, border-bottom, border-left) ve her parçanın border-top-color gibi kenar başına uzun yazımları vardır. Mantıksal sürümler olan border-inline-start ve border-block-end yazı yönünü takip eder:
border-color, border-width ve border-style, padding ile aynı saat yönü sırasında bir ila dört değer kabul eder: üst, sağ, alt, sol.
border-radius ile yuvarlak köşeler
border-radius kenarlığın ve arka planın köşelerini yuvarlar, bu yüzden hiç kenarlığı olmayan elementlerde de çalışır.
| Değer | Sonuç |
|---|---|
border-radius: 8px | Bütün köşeler 8px yuvarlanır |
border-radius: 50% | Kare bir elementte daire, dikdörtgende elips |
border-radius: 999px | Hap şekli: kısa kenarlar tam yarım daire olur |
border-radius: 8px 0 | Sol üst ve sağ alt 8px, diğer ikisi köşeli |
border-top-left-radius: 12px | Yalnızca tek köşe |
border-radius: 50% / 25% | Eliptik köşeler: yatay yarıçap / dikey yarıçap |
Arka planı olan bir çocuk, yuvarlatılmış bir ebeveynin köşelerinden taşabilir. Ebeveyne verilen overflow: hidden onu eğriye göre kırpar.
Border ve outline
Bir outline kenarlık gibi görünür ama onun dışına çizilir ve yer kaplamaz, bu yüzden eklemek hiçbir şeyi yerinden oynatmaz. Tarayıcıların odak halkaları için outline kullanmasının nedeni budur.
| Border | Outline | |
|---|---|---|
| Yer kaplar | Evet, kutu boyutunun parçası | Hayır |
| Kenar başına | Evet (border-top, ...) | Hayır, dört bir yanda |
border-radius'u takip eder | Evet | Evet, güncel tarayıcılarda |
| Kutudan uzaklık | Hayır | Evet, outline-offset |
| Tipik kullanım | Tasarım | Odak göstergeleri, hata ayıklama |
Sık yapılan hatalar
- Kenarlık stili yok.
border: 1px #111827;veborder-color: red;hiçbir şey çizmez.solid(ya da başka bir stil) ekle. - Hover'da düzeni zıplatan bir kenarlık. Alanı saydam bir kenarlıkla ayır ya da outline veya
box-shadowkullan. - Kenarlığı genişlikte unutmak. Kenarlığı olan
width: 100%bir element,content-boxaltında kapsayıcısından taşar.box-sizing: border-boxkullan. - Köşelerden taşan bir çocukla
border-radius. Yuvarlatılmış ebeveyneoverflow: hiddenekle. - Odak çerçevelerini
outline: noneile kaldırmak. Klavye kullanıcılarının onlara ihtiyacı var; silmek yerine outline'ı yeniden stillendir.
Sıkça Sorulan Sorular
CSS'te kenarlık nasıl eklenir?
Bir kalınlık, bir stil ve bir renk içeren kısa yazımı kullan: border: 2px solid #2563eb;. En önemli kısım stildir: stil olmadan kenarlık stili none olur ve hiçbir kenarlık çizilmez.
CSS kenarlığım neden görünmüyor?
Neredeyse her zaman kenarlık stili verilmediği için. Varsayılan border-style none olduğundan border: 2px #2563eb; ya da tek başına border-color: red; hiçbir şey çizmez. solid, dashed ya da başka bir stil ekle.
CSS'te yuvarlak köşeler nasıl yapılır?
border-radius kullan: border-radius: 8px; dört köşenin hepsini yuvarlar. Kare bir elementte border-radius: 50%; bir daire yapar, 999px gibi büyük bir değer ise hap şekli verir. Kenarlık olmasa bile arka planı da yuvarlar.
Yalnızca tek bir kenara kenarlık nasıl eklenir?
Bir kenar özelliği kullan: border-bottom: 2px solid #e5e7eb; ya da metnin başladığı taraf için border-inline-start; bu, sağdan sola yazılan dillerde de çalışır.
Border ile outline arasındaki fark nedir?
Border kutunun parçasıdır: yer kaplar ve elementin boyutunu değiştirir. Outline ise yer kaplamadan kenarlığın dışına çizilir, kenar başına ayarlanamaz ve tarayıcıların odak halkaları için kullandığı şeydir. Güncel tarayıcılarda ikisi de border-radius'u takip eder.