Saya memiliki kasus di mana saya harus menulis kode CSS sebaris, dan saya ingin menerapkan gaya melayang pada jangkar.
Bagaimana saya bisa menggunakan a:hover
inline CSS di dalam atribut style HTML?
Misalnya Anda tidak dapat menggunakan kelas CSS dalam email HTML dengan andal.
html
css
inline-styles
Amr Elgarhy
sumber
sumber
Jawaban:
Jawaban singkat: Anda tidak bisa.
Jawaban panjang: Anda seharusnya tidak.
Berikan nama kelas atau id dan gunakan stylesheet untuk menerapkan gaya.
:hover
adalah pseudo-selector dan, untuk CSS , hanya memiliki arti di dalam style sheet. Tidak ada padanan gaya inline (karena tidak mendefinisikan kriteria pemilihan).Menanggapi komentar OP:
Lihat Totally Pwn CSS dengan Javascript untuk skrip yang bagus tentang menambahkan aturan CSS secara dinamis. Juga lihat Ubah lembar gaya untuk beberapa teori tentang subjek.
Juga, jangan lupa, Anda dapat menambahkan tautan ke stylesheet eksternal jika itu opsi. Sebagai contoh,
Perhatian: di atas mengasumsikan ada bagian kepala .
sumber
style="{color:green;} :hover { color: red; }"
dan firefox berhasil mewarnai tautan hijau, tetapi mengabaikan hover. Chrome mengabaikan keduanya. Pengujian lanjutan akan sangat tidak berguna.Anda bisa mendapatkan efek yang sama dengan mengubah gaya Anda dengan JavaScript di
onMouseOver
danonMouseOut
parameter, meskipun sangat tidak efisien jika Anda perlu mengubah lebih dari satu elemen:Juga, saya tidak ingat pasti apakah
this
berfungsi dalam konteks ini. Anda mungkin harus mengubahnya dengandocument.getElementById('idForLink')
.sumber
<div onMouseOver="this.style.backgroundColor='#F8F8F8'" onMouseOut="this.style.backgroundColor='#FFFFFF'"> ...
Anda bisa melakukannya di masa lalu. Tetapi sekarang (menurut revisi terbaru dari standar yang sama, yaitu Rekomendasi Kandidat) Anda tidak bisa.
sumber
<a href="http://www.w3.org/" style="{color: #900} :link {background: #ff0} :visited {background: #fff} :hover {outline: thin red solid} :active {background: #00f}">...</a>
Tetapi tidak berhasilSaya sangat terlambat berkontribusi dalam hal ini, namun saya sedih melihat tidak ada yang menyarankan ini, jika Anda benar-benar memerlukan kode sebaris, ini mungkin dilakukan. Saya membutuhkannya untuk beberapa tombol hover, metodenya adalah ini:
Dalam hal ini, kode sebaris: "background-color: red;" adalah warna pengalih pada hover, masukkan warna yang Anda butuhkan ke sana dan kemudian solusi ini bekerja. Saya menyadari ini mungkin bukan solusi yang sempurna dalam hal kompatibilitas namun ini berfungsi jika benar-benar diperlukan.
sumber
Anda tidak dapat melakukan apa yang Anda gambarkan, karena
a:hover
merupakan bagian dari pemilih, bukan aturan CSS. Lembar gaya memiliki dua komponen:Gaya sebaris hanya memiliki aturan; pemilih secara implisit menjadi elemen saat ini.
Selektor adalah bahasa ekspresif yang menjelaskan sekumpulan kriteria untuk mencocokkan elemen dalam dokumen mirip-XML.
Namun, Anda bisa mendekat, karena satu
style
set secara teknis bisa pergi ke mana saja:sumber
<html> </html>
tagmenggunakan Javascript:
a) Menambahkan gaya inline
b) atau metode yang sedikit lebih sulit - menambahkan "mouseover"
Catatan: gaya multi-kata (yaitu
font-size
) dalam Javascript ditulis bersama :element.style.fontSize="12px"
sumber
Ini adalah contoh kode terbaik:
Saran Moderator: Pertahankan pemisahan kekhawatiran Anda.
HTML
JS
sumber
Deklarasi pseudoclass sebaris tidak didukung dalam iterasi CSS saat ini (meskipun, dari apa yang saya pahami, itu mungkin datang dalam versi masa depan).
Untuk saat ini, taruhan terbaik Anda mungkin hanya dengan mendefinisikan blok gaya langsung di atas tautan yang ingin Anda gaya:
sumber
Seperti yang ditunjukkan, Anda tidak dapat menetapkan gaya sebaris sebarang untuk kursor, tetapi Anda dapat mengubah gaya kursor kursor di CSS menggunakan yang berikut pada tag yang sesuai:
sumber
Hover adalah kelas pseudo, dan karenanya tidak dapat diterapkan dengan atribut style. Itu adalah bagian dari pemilih.
sumber
Kamu bisa melakukan ini. Tetapi tidak dalam gaya inline. Anda dapat menggunakan
onmouseover
danonmouseout
acara:sumber
Menurut komentar Anda, Anda tetap mengirim file JavaScript. Lakukan rollover dalam JavaScript. jQuery 's
$.hover()
metode memudahkan, seperti halnya setiap pembungkus lainnya JavaScript. Tidak terlalu sulit dalam JavaScript langsung.sumber
Tidak ada cara untuk melakukan ini. Pilihan Anda adalah menggunakan blok JavaScript atau CSS.
Mungkin ada beberapa pustaka JavaScript yang akan mengonversi atribut gaya kepemilikan ke blok gaya. Tetapi kemudian kode tersebut tidak akan memenuhi standar.
sumber
Saya baru saja menemukan solusi yang berbeda.
Masalah saya: Saya memiliki
<a>
tag di sekitar beberapa slide / penampil konten utama serta<a>
tag di footer. Saya ingin mereka pergi ke tempat yang sama di IE, sehingga seluruh paragraf akan digarisbawahionHover
, meskipun mereka bukan tautan: slide secara keseluruhan adalah tautan. IE tidak tahu bedanya. Saya juga memiliki beberapa tautan aktual di catatan kaki saya yang perlu garis bawah dan perubahan warnaonHover
. Saya pikir saya harus meletakkan style sejajar dengan tag footer untuk membuat perubahan warna, tetapi saran dari atas menunjukkan bahwa ini tidak mungkin.Solusi: Saya memberi footer tautan dua kelas yang berbeda, dan masalah saya terpecahkan. Saya dapat memiliki
onHover
perubahan warna dalam satu kelas, memiliki slideonHover
tidak memiliki perubahan warna / garis bawah, dan masih dapat memiliki HREFS eksternal di footer dan slide pada saat yang sama!sumber
Saya setuju dengan bayangan . Anda dapat menggunakan
onmouseover
danonmouseout
acara untuk mengubah CSS melalui JavaScript.Dan jangan katakan orang harus mengaktifkan JavaScript. Ini hanya masalah gaya, jadi tidak masalah jika ada beberapa pengunjung tanpa JavaScript;) Meskipun sebagian besar Web 2.0 bekerja dengan JavaScript. Lihat Facebook misalnya (banyak JavaScript) atau Myspace .
sumber
Ini agak terlambat dalam permainan, tetapi kapan Anda akan menggunakan JavaScript dalam Email HTML? Misalnya, di perusahaan tempat saya bekerja saat ini (berima dengan Abodee), kami menggunakan penyebut umum terendah untuk sebagian besar kampanye pemasaran email - dan JavaScript tidak digunakan. Pernah. Kecuali jika Anda merujuk pada semacam pra-pemrosesan.
Seperti yang disebutkan dalam posting terkait: "Lotus Notes, Mozilla Thunderbird, Outlook Express, dan Windows Live Mail semuanya tampaknya mendukung semacam eksekusi JavaScript. Tidak ada yang lain."
Tautan ke artikel dari mana ini diambil: [ http://en.wikipedia.org/wiki/Comparison_of_e-mail_clients]
Juga, bagaimana cara melayang menerjemahkan ke perangkat seluler? Itu sebabnya saya suka jawaban dari atas:
Long answer: you shouldn't.
Jika ada yang memiliki lebih banyak wawasan tentang subjek ini, silakan koreksi saya. Terima kasih.
sumber
Jadi ini bukan yang dicari pengguna, tapi saya menemukan pertanyaan ini mencari jawaban dan menemukan sesuatu yang berhubungan. Saya memiliki banyak elemen berulang yang membutuhkan warna baru / hover untuk tab di dalamnya. Saya menggunakan setang, yang merupakan kunci solusi saya, tetapi bahasa templat lainnya juga dapat berfungsi.
Saya mendefinisikan beberapa warna dan menyerahkannya ke template setang untuk setiap elemen. Di bagian atas template saya mendefinisikan tag gaya, dan memasukkan kelas kustom saya dan mengarahkan warna.
Lalu saya menggunakan style pada template:
Anda mungkin tidak perlu
!important
sumber
Anda dapat menulis kode dalam berbagai jenis
pertama saya bisa menulis ini
html
css
Anda dapat mencoba cara lain
html
css
Anda juga dapat mencoba mengarahkan di jquery
skrip java
html
dalam kode ini Anda memiliki tiga fungsi dalam jquery pertama Anda siap fungsi yang merupakan dasar fungsi jquery kemudian kedua Anda memiliki fungsi hover dalam fungsi ini ketika Anda mengarahkan pointer ke teks warna akan berubah dan kemudian berikutnya ketika Anda melepaskan pointer ke teks itu akan menjadi warna yang berbeda dan ini adalah fungsi ketiga
sumber
Sekarang mungkin dengan Hacss .
sumber
Saya harus menghindari javascript, tetapi bisa menggunakan kode sisi server.
jadi saya membuat id, membuat blok gaya, membuat tautan dengan id itu. Ya, HTML yang valid.
sumber
Anda dapat menggunakan pseudo-class hanya
a:hover
di style sheet eksternal. Karena itu saya sarankan menggunakan style sheet eksternal. Kode tersebut adalah:sumber
style
tag.Anda dapat melakukan id dengan menambahkan kelas tetapi tidak pernah sebaris.
2 baris tetapi Anda dapat menggunakan kembali kelas di mana saja.
sumber
Masalah saya adalah bahwa saya sedang membangun sebuah situs web yang menggunakan banyak ikon gambar yang harus ditukar dengan gambar yang berbeda di hover (mis. Gambar blue-ish menjadi red-ish on hover). Saya menghasilkan solusi berikut untuk ini:
Saya memperkenalkan wadah berisi sepasang gambar. Yang pertama terlihat dan yang lainnya disembunyikan (tampilan: tidak ada). Saat mengarahkan wadah, yang pertama menjadi tersembunyi (tampilan: tidak ada) dan yang kedua muncul lagi (tampilan: blok).
sumber