Saya tahu bahwa menyematkan gaya CSS langsung ke tag HTML pengaruhnya akan mengalahkan sebagian besar tujuan CSS, tetapi terkadang berguna untuk tujuan debugging, seperti dalam:
<p style="font-size: 24px">asdf</p>
Seperti apa sintaks untuk menyematkan aturan seperti:
a:hover {text-decoration: underline;}
ke dalam atribut gaya dari sebuah tag? Jelas bukan ini ...
<a href="foo" style="text-decoration: underline">bar</a>
... karena itu akan berlaku setiap saat, bukan hanya selama hover.
Jawaban:
Saya khawatir itu tidak dapat dilakukan, pemilih kelas-semu tidak dapat diatur secara in-line, Anda harus melakukannya di halaman atau di lembar gaya.
Saya harus menyebutkan bahwa secara teknis Anda harus dapat melakukannya sesuai dengan spesifikasi CSS , tetapi sebagian besar browser tidak mendukungnya
Sunting: Saya baru saja melakukan tes cepat dengan ini:
<a href="test.html" style="{color: blue; background: white} :visited {color: green} :hover {background: yellow} :visited:hover {color: purple}">Test</a>
Dan itu tidak berfungsi di IE7, IE8 beta 2, Firefox atau Chrome. Adakah yang bisa menguji di browser lain?
sumber
style
atribut.Jika Anda hanya men-debug, Anda dapat menggunakan javascript untuk mengubah css:
<a onmouseover="this.style.textDecoration='underline';" onmouseout="this.style.textDecoration='none';">bar</a>
sumber
Solusi sederhana:
<a href="#" onmouseover="this.style.color='orange';" onmouseout="this.style.color='';">My Link</a>
Atau
<script> /** Change the style **/ function overStyle(object){ object.style.color = 'orange'; // Change some other properties ... } /** Restores the style **/ function outStyle(object){ object.style.color = 'orange'; // Restore the rest ... } </script> <a href="#" onmouseover="overStyle(this)" onmouseout="outStyle(this)">My Link</a>
sumber
Jika untuk debugging, tambahkan saja kelas css untuk hovering (karena elemen dapat memiliki lebih dari satu kelas):
a.hovertest:hover { text-decoration:underline; } <a href="http://example.com" class="foo bar hovertest">blah</a>
sumber
Saya mengumpulkan solusi cepat untuk siapa saja yang ingin membuat popup hover tanpa CSS menggunakan perilaku onmouseover dan onmouseout.
http://jsfiddle.net/Lk9w1mkv/
<div style="position:relative;width:100px;background:#ddffdd;overflow:hidden;" onmouseover="this.style.overflow='';" onmouseout="this.style.overflow='hidden';">first hover<div style="width:100px;position:absolute;top:5px;left:110px;background:white;border:1px solid gray;">stuff inside</div></div>
sumber
Jika
<p>
tag tersebut dibuat dari JavaScript, maka Anda memiliki opsi lain: gunakan JSS untuk memasukkan stylesheet secara terprogram ke dalam kepala dokumen. Itu mendukung'&:hover'
. https://cssinjs.org/sumber
Saya tidak berpikir jQuery mendukung pseudo-selector, tetapi menyediakan cara cepat untuk menambahkan event ke satu, banyak, atau semua kontrol dan tag serupa Anda pada satu halaman.
Yang terbaik dari semuanya, Anda dapat merangkai event binds dan melakukan semuanya dalam satu baris skrip jika Anda mau. Jauh lebih mudah daripada mengedit semua HTML secara manual untuk mengaktifkan atau menonaktifkannya. Kemudian lagi, karena Anda dapat melakukan hal yang sama di CSS, saya tidak tahu bahwa itu membelikan Anda apa pun (selain mempelajari jQuery).
sumber