Menu

Inline CSS: style Özniteliği ve CSS Eklemenin 3 Yolu

Inline CSS, bildirimleri style özniteliğiyle doğrudan bir elementin üzerine yazar. Söz dizimini, satır içi stilin ne zaman doğru seçim olduğunu, stil dosyalarını neden ezdiğini ve internal ile external CSS'ten farkını öğren.

Bu sayfada çalıştırılabilir editörler var - düzenle, çalıştır ve sonucu anında gör.

Inline CSS nedir

Inline CSS, style özniteliğiyle doğrudan bir HTML elementinin üzerine yazılan CSS'tir. Değer bir bildirim listesidir, property: value; biçiminde, ve yalnızca o elemente uygulanır.

Seçici de süslü parantez de yoktur: özniteliğin durduğu element hedeftir. Bildirimleri noktalı virgülle ayır. Son noktalı virgül isteğe bağlıdır, ama onu bırakmak bir sonraki bildirimi eklemeyi güvenli hale getirir.

Söz dizimi

<element style="property: value; property: value;">
ParçaÖrnekNotlar
Öznitelikstyle="..."Genel bir öznitelik: her HTML elementinde kullanılabilir
Bildirimcolor: #2563eb;Stil dosyasındaki bir kuralın içindekiyle aynı söz dizimi
Birden fazla bildirimpadding: 8px; border: 1px solid #e5e7eb;; ile ayrılır
İçeride tırnakstyle="font-family: 'Courier New', monospace;"Çift tırnaklı özniteliğin içinde tek tırnak kullan

Bildirim olmayan hiçbir şeye izin verilmez. :hover, ::before, @media ve seçicilerin bir style özniteliğinde yeri yoktur.

HTML'e CSS eklemenin 3 yolu

CSS bir sayfaya üç yoldan ulaşır. Bu sayfa ilkini anlatıyor; external ve internal CSS için ayrı bir sayfa var.

YöntemCSS'in durduğu yerKapsamTipik kullanım
InlineTek bir elementteki style özniteliğiO elementTek seferlik değerler, JavaScript'in yazdığı değerler
InternalSayfadaki <style> elementiO sayfaTek sayfalık demolar, e-posta şablonları, kritik CSS
External<link> ile bağlanan bir .css dosyasıOnu bağlayan her sayfaBütün bir sitenin stili

Aynı paragrafın üç yolla da stillenmiş hali (önizlemenin yükleyeceği ikinci bir dosya olmadığı için external dosya yorum olarak gösteriliyor):

Üçüncü paragraf .note kuralından gelen padding ve köşe yuvarlaklığını korur ve yalnızca arka planı değiştirir, çünkü inline stil sadece o tek özelliği ayarlıyor.

Inline stiller neden kazanır

Bir stil dosyası kuralı ve bir inline stil aynı özelliği ayarladığında inline stil kazanır. Seçicinin ne kadar özgül olduğu fark etmez: bir ID seçici bile kaybeder.

Tek istisna !important'tır. !important ile işaretlenmiş bir stil dosyası bildirimi normal bir inline bildirimi yener, inline bir !important ise ikisini de yener. Inline stillerin bir sitenin bakımını zorlaştırmasının nedeni budur: onları stil dosyasından değiştirmek için !important gerekir ve bu bir tırmanışı başlatır. Sıralamanın tamamı !important sayfasında anlatılıyor.

Inline CSS ne zaman doğru araçtır

Inline stiller, değer tasarım değil veri olduğunda uygundur: element başına değişir ve bir şablon ya da JavaScript tarafından yazılır.

Görünüm (renkler, yükseklik, köşe yuvarlaklığı) stil dosyasında durur. Yalnızca çubuktan çubuğa değişen genişlik inline'dır. JavaScript aynı özniteliği element.style üzerinden yazar:

Tıklamadan sonra paragrafın HTML'i style="color: rgb(245, 158, 11); font-weight: bold;" olur. Tire içeren özellik adları JavaScript'te camelCase'e dönüşür (font-weight, fontWeight olur).

Çoğu zaman en temiz orta yol bir CSS değişkenidir: inline olarak yalnızca değişkeni ayarla, style="--progress: 35%", ve stil dosyasının onu kullanmasına izin ver. Bkz. CSS değişkenleri.

Inline CSS'in yetersiz kaldığı yerler

  • Durum ya da sözde element yok. Bir style özniteliğine :hover, :focus ya da ::before yazamazsın.
  • Medya sorgusu yok. Inline bir genişlik telefonda değişemez.
  • Tekrar. Aynı inline stile sahip on buton, düzenlenecek on yer demektir.
  • Ezmesi zor. Onu yalnızca stil dosyasındaki !important yener.
  • Content Security Policy. style-src içinde 'unsafe-inline' olmayan katı bir CSP, HTML'e yazılmış style özniteliklerini engeller.

Sık yapılan hatalar

  • style içine seçici ya da süslü parantez yazmak. style="p { color: red }" yok sayılır. Oraya yalnızca bildirimler girer.
  • : yerine = kullanmak. Doğrusu color: red, color=red değil.
  • Çift tırnakları iç içe koymak. style="font-family: "Arial"" özniteliği erken bitirir. İçeride tek tırnak kullan.
  • Birimi unutmak. style="width: 200" yok sayılır; 200px yaz. Birimini atabilen tek uzunluk 0'dır.
  • Bütün siteyi inline stillemek. Tekrar eden stilleri stil dosyasındaki bir class'a taşı, inline stilleri element başına değişen değerlere bırak.

Sıkça Sorulan Sorular

Inline CSS nedir?

Inline CSS, bir elementin style özniteliğine yazılan CSS'tir, örneğin <p style="color: red;">. Bildirimler seçici olmadan yalnızca o elemente uygulanır.

HTML'e CSS eklemenin 3 yolu nedir?

Inline, bir elementteki style özniteliğiyle; internal, sayfadaki bir <style> elementiyle; external ise <head> içindeki <link rel="stylesheet" href="styles.css"> ile bağlanan ayrı bir .css dosyasıyla. Bütün bir site için genelde external dosya tercih edilir.

Inline CSS, external CSS'i ezer mi?

Çoğu durumda evet. style özniteliğindeki bir bildirim, özgüllüğü ne olursa olsun stil dosyasındaki her seçiciyi yener. Stil dosyasının kazanmasının tek yolu !important'tır; inline bir !important ise onu da yener.

Inline CSS kötü bir uygulama mı?

Bütün bir sitenin stili için evet: kendini tekrar eder, :hover ya da medya sorguları kullanamaz ve ezilmesi zordur. İlerleme çubuğu genişliği ya da kullanıcının seçtiği bir renk gibi JavaScript'in veya bir şablonun yazdığı tek seferlik değerler için sorun yoktur.

Inline CSS'te hover kullanılabilir mi?

Hayır. style özniteliği yalnızca bildirim kabul eder, bu yüzden :hover gibi sözde sınıflar, ::before gibi sözde elementler ve @media kuralları oraya yazılamaz. Bunları bir <style> elementine ya da stil dosyasına koy.

Coddy programming languages illustration

Coddy ile kodlamayı öğren

BAŞLA