:focus
dan :active
dua negara yang berbeda.
:focus
mewakili keadaan saat elemen saat ini dipilih untuk menerima input dan
:active
mewakili keadaan saat elemen saat ini sedang diaktifkan oleh pengguna.
Misalnya katakanlah kita punya <button>
. Tidak <button>
akan memiliki negara untuk memulai. Itu hanya ada. Jika kita gunakan Tabuntuk memberi "fokus" ke <button>
, itu sekarang memasuki :focus
kondisinya. Jika Anda mengklik (atau menekan space), Anda kemudian membuat tombol masukkan status ( :active
).
Pada catatan itu, ketika Anda mengklik suatu elemen, Anda memberinya fokus, yang juga menumbuhkan ilusi itu :focus
dan :active
sama. Mereka tidak sama. Ketika diklik tombolnya dalam :focus:active
keadaan.
Sebuah contoh:
<style type="text/css">
button { font-weight: normal; color: black; }
button:focus { color: red; }
button:active { font-weight: bold; }
</style>
<button>
When clicked, my text turns red AND bold!<br />
But not when focused only,<br />
where my text just turns red
</button>
sunting: jsfiddle
document.activeElement
properti yang membingungkan , meskipun harus dalam percobaan coba karena IE8 dapat melempar pengecualian. Dan ketahuilah bahwa versi browser yang lebih lama dapat memperlakukan: aktif dan: fokus secara berbeda.function activeElement() { try { return document.activeElement; /* can get exeption in IE8 */ } catch(e) { } }
:active
negara bagianfocus
danactive
Anda tidak penting. Itu hanya penting ketika mereka saling bertentangan misalnyacolor:red
dancolor:blue
(kemudian yang terakhir menang).Sumber: CSS Pseudo-class
sumber
visited
tautan tidak akan berubah gaya ketika melayang atau mengklik karena "kunjungan" mereka akan menimpa kelas pseudo lainnya. LVHFA adalah urutan yang ingin digunakan kebanyakan orang dalam banyak kasus. Tidak yakin mengapa Anda termasuklang
...Ada empat kasus.
:focus
(tanpa aktif).:active
tidak bisa fokus , elemen itu masuk (tanpa fokus).:active:focus
fokus, elemen itu masuk (aktif dan fokus secara bersamaan).Contoh:
Ketika halaman memuat keduanya dalam kasus 1. Ketika Anda menekan tab Anda akan fokus pada div kedua dan melihatnya menunjukkan kasus 2. Ketika Anda mengklik pada div pertama Anda melihat kasus 3. Ketika Anda mengklik div kedua, Anda melihat kasus 4 .
Apakah suatu elemen dapat fokus atau tidak adalah pertanyaan lain . Sebagian besar tidak secara default. Tapi, itu aman untuk mengasumsikan
<a>
,<input>
,<textarea>
adalah focusable secara default.sumber
:active
tetapi tidak:focus
. Itu satu hal yang saya bingung tentang jawaban yang tidak saya jawab.: fokus adalah ketika suatu elemen dapat menerima input - kursor di kotak input atau tautan yang telah ditabrak.
: active adalah ketika elemen diaktifkan oleh pengguna - waktu antara saat pengguna menekan tombol mouse dan kemudian melepaskannya.
sumber
Aktif adalah ketika pengguna mengaktifkan titik itu (Seperti mengklik mouse, jika kita menggunakan tab dari bidang ke bidang tidak ada tanda dari gaya aktif. Mungkin mengklik memerlukan lebih banyak waktu, coba tahan klik pada titik itu), fokus terjadi setelah intinya diaktifkan. Coba ini :
sumber
Fokus hanya dapat diberikan oleh input keyboard, tetapi Elemen dapat diaktifkan oleh keduanya, mouse atau keyboard.
Jika orang akan menggunakan: fokus pada tautan, aturan gaya hanya akan berlaku dengan menekan kapas pada keyboard.
sumber
:focus
tidak berfungsi seperti itu. Textarea yang saya ketikkan saat ini memiliki fokus karena saya mengklik tombol. Itu juga dapat kehilangan dan mengembalikan fokus dengan mengklik dari itu, dan ke dalamnya lagi. Hanya dalam sedetik, saya akan memberikan fokus pada tombol Tambahkan Komentar ke kanan dengan mengkliknya. Semua ini tanpa input keyboard menyebabkan fokus.Menggunakan "fokus" akan memberi pengguna keyboard efek yang sama dengan yang didapat pengguna mouse saat mereka mengarahkan mouse. "Aktif" diperlukan untuk mendapatkan efek yang sama di Internet Explorer.
Kenyataannya adalah, kondisi ini tidak berfungsi sebagaimana mestinya bagi semua pengguna. Tidak menggunakan ketiga penyeleksi menciptakan masalah aksesibilitas bagi banyak pengguna keyboard saja yang secara fisik tidak dapat menggunakan mouse. Saya mengundang Anda untuk mengambil tantangan #nomouse (nomouse dot org).
sumber