Saya sedikit bingung tentang CSS dan class
atributnya. Saya selalu berpikir, urutan beberapa kelas yang saya tentukan dalam nilai atribut memiliki arti. Kelas selanjutnya bisa / harus menimpa definisi dari sebelumnya, tetapi ini sepertinya tidak berhasil. Berikut contohnya:
<html>
<head>
<style type="text/css">
.extra {
color: #00529B;
border:1px solid #00529B; /* Blue */
background-color: #BDE5F8;
}
.basic {
border: 1px solid #ABABAB;
}
</style>
</head>
<body>
<input type="text" value="basic" class="basic"/>
<input type="text" value="extra" class="extra"/>
<input type="text" value="basic extra" class="basic extra"/>
<input type="text" value="extra basic" class="extra basic"/>
</body>
</html>
Saya harapkan, contoh ketiga dengan class="basic extra"
harus memiliki batas biru, karena dalam batas yang ditentukan ekstra akan menimpa batas dari dasar.
Saya menggunakan FF 3 di ubuntu 9.04
Urutan kelas dalam atribut tidak relevan. Semua kelas di
class
atribut diterapkan sama ke elemen.Pertanyaannya adalah: dalam urutan bagaimana aturan gaya muncul di file .css Anda. Dalam contoh Anda,
.basic
datang setelah.extra
sehingga.basic
aturan akan diutamakan jika memungkinkan.Jika Anda ingin memberikan kemungkinan ketiga (misalnya, bahwa itu
.basic
tapi bahwa.extra
aturan harus tetap berlaku), Anda harus menciptakan kelas lain,.basic-extra
mungkin, yang secara eksplisit menyediakan untuk itu.sumber
Ini bisa dilakukan, tetapi Anda harus sedikit kreatif dengan penyeleksi Anda. Dengan menggunakan pemilih atribut, Anda dapat menentukan hal-hal seperti "dimulai dengan", "diakhiri dengan", "berisi", dll. Lihat contoh di bawah ini menggunakan markup yang sama, tetapi dengan pemilih atribut.
sumber