首頁 > web前端 > css教學 > 為什麼 WebKit 無法在多個相鄰兄弟元素上套用 :hover 樣式?

為什麼 WebKit 無法在多個相鄰兄弟元素上套用 :hover 樣式?

Linda Hamilton
發布: 2024-10-24 04:25:31
原創
287 人瀏覽過

Why Does WebKit Fail to Apply :hover Styles on Multiple Adjacent-Sibling Elements?

WebKit 問題:具有多個相鄰同級選擇器的懸停偽類

Web 瀏覽器在處理:hover 偽類時通常會遇到挑戰與鄰近兄弟選擇器結合。特別是,WebKit(Safari 和 Chrome)在將 :hover 樣式應用於一系列相鄰同級元素時面臨困難。

挑戰:

以下範例示範了該問題:

div:hover + a + div { /* styles here */ }
登入後複製

在這種情況下,當滑鼠直接懸停在第二個div 上時,WebKit 無法將樣式套用到第二個div 上。但是,如果滑鼠先懸停在前面的錨元素上,然後懸停在第二個 div 上,樣式將按預期套用。

解決方案:

解決方法此錯誤涉及在body 元素上偽造動畫:

body { -webkit-animation: bugfix infinite 1s; }

@-webkit-keyframes bugfix {
  from { padding: 0; }
  to { padding: 0; }
}
登入後複製

此解決方案引入了一個簡單的解決方案動畫,強制WebKit 重新渲染body 元素,從而解決了懸停偽類和多個相鄰同級的問題選擇器。

以上是為什麼 WebKit 無法在多個相鄰兄弟元素上套用 :hover 樣式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板