Saya terus membaca di mana-mana bahwa CSS tidak peka terhadap huruf besar-kecil, tetapi saya memiliki pemilih ini
.holiday-type.Selfcatering
yang ketika saya gunakan dalam HTML saya, seperti ini, diambil
<div class="holiday-type Selfcatering">
Jika saya mengubah pemilih di atas seperti ini
.holiday-type.SelfCatering
Maka gaya tidak dijemput.
Seseorang berbohong.
html
css
css-selectors
Sachin Kainth
sumber
sumber
Jawaban:
Selektor CSS umumnya tidak sensitif huruf besar-kecil; ini termasuk pemilih kelas dan ID.
Tapi nama kelas HTML adalah case-sensitive (lihat definisi atribut), dan bahwa ini menyebabkan ketidakcocokan dalam contoh kedua Anda. Ini belum berubah dalam HTML5 . 1
Ini karena sensitivitas selektor tergantung pada apa yang dikatakan bahasa dokumen :
Jadi, diberikan elemen HTML dengan
Selfcatering
kelas tetapi tanpaSelfCatering
kelas, penyeleksi.Selfcatering
dan[class~="Selfcatering"]
akan mencocokkannya, sedangkan pemilih.SelfCatering
dan[class~="SelfCatering"]
tidak akan. 2Jika jenis dokumen mendefinisikan nama kelas sebagai tidak peka huruf besar-kecil, maka Anda akan memiliki kecocokan apa pun.
1 Dalam mode quirks untuk semua browser, kelas dan ID tidak peka huruf besar-kecil. Ini berarti pemilih yang tidak cocok dengan huruf besar akan selalu cocok. Perilaku ini konsisten di semua browser untuk alasan warisan, dan disebutkan dalam artikel ini .
2 Untuk apa nilainya, Penyeleksi level 4 berisi sintaks yang diusulkan untuk memaksa pencarian case-sensitive pada nilai atribut menggunakan
[class~="Selfcatering" i]
atau[class~="SelfCatering" i]
. Kedua penyeleksi akan mencocokkan elemen HTML atau XHTML denganSelfcatering
kelas atauSelfCatering
kelas (atau, tentu saja, keduanya). Namun tidak ada sintaks untuk penyeleksi kelas atau ID (belum?), Mungkin karena mereka membawa semantik yang berbeda dari penyeleksi atribut biasa (yang tidak memiliki semantik yang terkait dengannya), atau karena sulit untuk menghasilkan sintaks yang dapat digunakan.sumber
div
danDIV
pemilih keduanya cocok dengan<div>
, tetapi id dan pemilih nama kelas harus peka huruf besar-kecil. Kecuali saya salah mengerti jawaban Anda?DIV
pemilih tidak akan lagi cocok.).selfcatering
dan penyeleksi adalah case sensitif, mengapa harus peduli apakah kelas adalahSelfcatering
atauSelfCatering
atausElfcAtErInG
? Apa yang saya lewatkan?Mungkin bukan bohong, tapi perlu klarifikasi.
Css aktual itu sendiri tidak peka terhadap huruf besar-kecil.
Sebagai contoh
tetapi namanya, mereka harus peka terhadap huruf besar untuk menjadi pengidentifikasi unik.
Semoga itu bisa membantu.
sumber
Dalam mode quirks, semua browser berperilaku seperti case-insensitive ketika menggunakan kelas CSS dan nama id.
Terkadang ketika Anda memiliki DOCTYPE salah seperti di bawah ini, browser Anda masuk dalam mode quirks.
Anda harus menggunakan DOCTYPE standar
HTML 5
HTML 4.01 Ketat
HTML 4.01 Transisi
HTML 4.01 Frameset
XHTML 1.0 Ketat
XHTML 1.0 Transisi
XHTML 1.0 Frameset
XHTML 1.1
jika kelas CSS atau nama id Anda berperilaku tidak peka terhadap huruf besar-kecil, harap periksa doctype Anda.
sumber
CSS adalah case-sensitive.
Tetapi dalam HTML5 kelas dan ID peka huruf besar-kecil
Jadi, properti CSS, nilai, nama kelas pseudo, nama elemen pseudo, nama elemen peka huruf besar kecil
Dan kelas CSS, id, url, font-family adalah case-sensitive.
Catatan: dalam mode quirks html css tidak sensitif huruf besar bahkan untuk ID dan kelas (jika Anda menghapus deklarasi doctype)
Contoh pada CodePen: https://codepen.io/swapnilPakolu/pen/MWgvQyB?&editable=true#anon-signup
sumber