Apakah ada sesuatu seperti! = (Tidak sama) di CSS? misalnya, saya memiliki kode berikut:
input {
...
...
}
tetapi untuk beberapa masukan, saya perlu membatalkan ini. Saya ingin melakukannya dengan menambahkan kelas "reset" ke tag masukan, misalnya
<input class="reset" ... />
lalu lewati tag ini dari CSS.
Bagaimana saya bisa melakukan itu?
Satu-satunya cara yang bisa saya lihat adalah dengan menambahkan beberapa kelas ke tag input, dan menulis ulang CSS sebagai berikut:
input.mod {
...
...
}
html
css
css-selectors
Alex Ivasyuv
sumber
sumber
Jawaban:
Di CSS3, Anda dapat menggunakan
:not()
filter,tetapi belum semua browser mendukung CSS3 sepenuhnya, jadi pastikan Anda tahu apa yang Anda lakukanyang sekarang didukung oleh semua browser utama (dan sudah cukup lama; ini adalah jawaban lama. ...).Contoh:
dan CSS
Catatan: solusi ini seharusnya tidak diperlukan lagi; Saya tinggalkan di sini untuk konteks.
Jika Anda tidak ingin menggunakan CSS3, Anda dapat menyetel gaya pada semua elemen, lalu menyetel ulang dengan kelas.
sumber
:not()
penyeleksi:input:not(.avoidme):not(.avoidmetoo)
akan menghindari elemen dengan salah satu kelas,input:not(.avoidme.andme)
akan menghindari elemen dengan kedua kelas.:not(.this.that) { }
MEI pekerjaan, tetapi jika Anda melakukan sesuatu seperti:not(.this, .that) { }
Anda akan jatuh ke bawah, Anda harus rantai daisy mereka seperti::not(.this):not(.that)
. Saya mengerti Anda mungkin tahu ini, saya mencoba membantu pembaca di masa mendatang :):not()
.Anda juga dapat melakukannya dengan 'mengembalikan' perubahan pada kelas reset hanya di CSS.
sumber
CSS3 memiliki
:not()
, tetapi belum diterapkan di semua browser. Namun, ini diterapkan di Pratinjau Platform IE9.http://www.w3.org/TR/css3-selectors/#negation
Sementara itu, Anda harus tetap berpegang pada metode kuno.
sumber
Anda juga dapat melakukan pendekatan ini dengan menargetkan atribut seperti ini:
input:not([type=checkbox]){ width:100%; }
Dalam hal ini semua input yang bukan tipe 'kotak centang' akan memiliki lebar 100%.
sumber
Menarik, baru saja mencoba ini untuk memilih elemen DOM menggunakan JQuery dan berhasil! :)
Halaman ini memiliki 168 div yang tidak memiliki kelas 'copy-komentar'
sumber
[attr!="value"]
adalah pemilih hanya jQuery api.jquery.com/attribute-not-equal-selectoralih-alih class = "reset" Anda bisa membalikkan logika dengan memiliki class = "valid" Anda dapat menambahkan ini secara default dan menghapus kelas untuk menyetel ulang gaya.
Jadi dari teladanmu dan Tomas '
dan
sumber