Apakah mungkin untuk menerapkan gaya css (3) ke label tombol radio yang dicentang?
Saya memiliki markup berikut:
<input type="radio" id="rad" name="radio"/>
<label for="rad">A Label</label>
Apa yang saya harapkan adalah itu
label:checked { font-weight: bold; }
akan melakukan sesuatu, tetapi sayangnya tidak (seperti yang saya harapkan).
Apakah ada pemilih yang dapat mencapai fungsi semacam ini? Anda dapat mengelilingi dengan divs dll jika itu membantu, tetapi solusi terbaik adalah yang menggunakan atribut label '' untuk ''.
Perlu dicatat bahwa saya dapat menentukan browser untuk aplikasi saya, jadi yang terbaik dari kelas css3 dll tolong.
<label for="rad1">Radio 1</label><input id="rad1" type="radio" name="rad">
~
untuk memilih elemen saudara kandung yang tidak selalu berdekatan. css-tricks.com/child-and-sibling-selektor:checked
pemilih tidak didukung .Saya tahu ini adalah pertanyaan lama, tetapi jika Anda ingin menjadikannya
<input>
sebagai anak<label>
alih-alih memisahkan mereka, berikut adalah cara CSS murni yang dapat Anda capai:Kemudian cukup bungkus teks dengan
<span>
:Lihat di JSFiddle .
sumber
<label>@Html.RadioButtonFor(..) someText<label>
, saya melemparkan<span>
"someText" dan itu bekerja seperti pesona. Terima kasih!label:active { font-weight: bold; }
. Lihat: jsfiddle.net/Gbq8Z/608 (wow aku tidak percaya biola itu telah bercabang 608 kali).Saya lupa di mana saya pertama kali melihatnya disebutkan tetapi Anda benar-benar dapat menempelkan label Anda dalam wadah di tempat lain selama Anda memiliki
for=
set atribut. Jadi, mari kita periksa sampel pada SO:Wah. Itu banyak untuk "sampel" tapi saya merasa itu benar-benar mendorong pulang efek dan titik: kita tentu dapat memilih label untuk kontrol input yang diperiksa tanpa menjadi saudara. Rahasianya terletak pada menjaga
input
tag seorang anak hanya untuk apa yang mereka butuhkan (dalam hal ini - hanyabody
elemen) .Karena
label
elemen tersebut tidak benar-benar memanfaatkan:checked
pemilih semu, tidak masalah bahwa label disimpan diheader
. Itu memang memiliki manfaat tambahan bahwa karenaheader
merupakan elemen saudara kita dapat menggunakan~
pemilih saudara generik untuk berpindah dariinput[type=radio]:checked
elemen DOM keheader
wadah dan kemudian menggunakan penyeleksi keturunan / anak untuk mengakseslabel
s sendiri, memungkinkan kemampuan untuk menata mereka ketika mereka masing-masing kotak radio / kotak centang dipilih .Kami tidak hanya dapat menata label, tetapi juga menata konten lain yang mungkin merupakan keturunan dari saudara kandung relatif terhadap semua label
input
. Dan sekarang untuk saat ini Anda semua sudah menunggu, JSFIDDLE ! Pergi ke sana, bermainlah dengannya, buatlah itu bekerja untuk Anda, cari tahu mengapa itu berhasil, hancurkan, lakukan apa yang Anda lakukan!Semoga semua masuk akal dan sepenuhnya menjawab pertanyaan dan mungkin tindak lanjut yang mungkin muncul.
sumber
Jika input Anda adalah elemen turunan dari
label
dan Anda memiliki lebih dari satu label, Anda dapat menggabungkan trik @ Mike denganFlexbox
+order
.html css
Lihat di JSFiddle .
Catatan: Pemilih saudara hanya bekerja di dalam orang tua yang sama. Untuk mengatasi ini, Anda dapat membuat input disembunyikan di tingkat atas menggunakan hack @Nathan Blair .
sumber
Anda bisa menggunakan sedikit jQuery:
Anda harus memastikan bahwa tombol radio yang Anda periksa memiliki kelas yang benar pada pemuatan halaman juga.
sumber
$('label[for="' + $(this).attr('id') + '"]').toggleClass();
MEMPERBARUI:
Ini hanya bekerja untuk saya karena html yang dihasilkan kami sudah aneh, menghasilkan
label
s bersama denganradio
s dan memberi mereka berduachecked
atribut.Sudahlah, dan hal-hal besar bagi Brilliand karena mengungkitnya!
Jika label Anda adalah saudara kandung dari kotak centang (yang biasanya merupakan kasus), Anda dapat menggunakan
~
pemilih saudara, dan alabel[for=your_checkbox_id]
untuk mengatasinya ... atau beri label id jika Anda memiliki banyak label (seperti dalam contoh ini di mana saya gunakan label untuk tombol)Datang ke sini mencari yang sama - tetapi akhirnya menemukan jawaban saya di dokumen .
sebuah
label
elemen denganchecked
atribut dapat dipilih seperti:Saya tahu ini pertanyaan lama, tapi mungkin itu membantu seseorang di luar sana :)
sumber