Rumah > hujung hadapan web > tutorial css > Mengapa CSS Saya :odd dan :even Pemilih Tidak Berfungsi Seperti Yang Dijangkakan?

Mengapa CSS Saya :odd dan :even Pemilih Tidak Berfungsi Seperti Yang Dijangkakan?

DDD
Lepaskan: 2024-12-29 19:22:16
asal
843 orang telah melayarinya

Why Doesn't My CSS :odd and :even Selector Work as Expected?

Menggayakan Elemen Genap dan Ganjil

Kelas pseudo CSS :ganjil dan :even membolehkan anda menggunakan gaya pada kejadian ganjil dan genap bagi elemen dalam senarai. Walau bagaimanapun, isu timbul apabila menggunakan kelas pseudo ini bersama dengan peraturan penggayaan asas, yang membawa kepada hasil yang tidak dijangka.

Sebagai contoh, pertimbangkan kod CSS dan HTML berikut:

li { color: blue }
li:odd { color:green }
li:even { color:red }
Salin selepas log masuk
<ul>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
</ul>
Salin selepas log masuk
Salin selepas log masuk

Anda mungkin menjangkakan ini akan menghasilkan senarai warna berselang-seli, tetapi sebaliknya, semua item senarai adalah biru.

Penyelesaian

Untuk menyelesaikannya, anda boleh menggunakan kelas pseudo anak ke-n dan bukannya :ganjil dan :genap. Sintaks untuk nth-child adalah seperti berikut:

li:nth-child(n) {...}
Salin selepas log masuk

di mana n mewakili kedudukan elemen dalam induknya.

Untuk menggayakan item senarai ganjil dan genap, anda boleh menggunakan yang berikut CSS:

li {
    color: black;
}
li:nth-child(odd) {
    color: #777;
}
li:nth-child(even) {
    color: blue;
}
Salin selepas log masuk
<ul>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
    <li>ho</li>
</ul>
Salin selepas log masuk
Salin selepas log masuk

Ini akan menghasilkan senarai item senarai hitam, dengan setiap item lain berselang seli antara kelabu (#777) dan biru.

Atas ialah kandungan terperinci Mengapa CSS Saya :odd dan :even Pemilih Tidak Berfungsi Seperti Yang Dijangkakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan