使用CSS的pointer-events屬性實現(xiàn)鼠標(biāo)穿透效果的神奇技巧

現(xiàn)代瀏覽器里CSS的職責(zé)范圍和JavaScript的越來越模糊分不清。比如CSS里-webkit-touch-callout屬性在iOS里能禁止當(dāng)用戶點擊時彈出氣泡框。而本文要說的pointer-events的風(fēng)格更像JavaScript,它能夠:
1.阻止用戶的點擊動作產(chǎn)生任何效果
2.阻止缺省鼠標(biāo)指針的顯示
3.阻止CSS里的hover和active狀態(tài)的變化觸發(fā)事件
4.阻止JavaScript點擊動作觸發(fā)的事件
一個CSS屬性能做所有的這么多事情!
當(dāng)使用pointer-events:none,表示它將捕獲不到任何點擊,而只是讓事件穿透到它的下面。代碼如下:
- <style>
- .overlay {
- pointer-events: none;
- }
- </style>
- <div id="overlay" class="overlay"></div>
如果值是auto,則效果和沒有定義pointer-events屬性相同,鼠標(biāo)不會穿透當(dāng)前層。在SVG中,該值和visiblePainted的效果相同。
這個pointer-events屬性有很多可以使用的屬性值,但大部分都是針對SVG的:auto, none, visiblePainted*, visibleFill*, visibleStroke*, visible*, painted*, fill*, stroke*, all*, 以及 inherit。
一些需要注意的關(guān)于pointer-events的事項:
1.子元素可以聲明pointer-events來解禁父元素的阻止鼠標(biāo)事件限制。
2.如果你對一個元素設(shè)置了click事件監(jiān)聽器,然后你移除了pointer-events樣式聲明,或把它的值改變?yōu)閍uto,監(jiān)聽器會重新生效?;旧?,監(jiān)聽器會遵守pointer-events的設(shè)定。
相關(guān)文章
css屬性pointer-events實現(xiàn)點擊穿透的示例代碼
本文主要介紹了css屬性pointer-events實現(xiàn)點擊穿透的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編2023-07-19使用css屬性屏蔽鼠標(biāo)事件的方法(鼠標(biāo)點擊可穿透上層元素)
這篇文章主要介紹了使用css屬性屏蔽鼠標(biāo)事件(鼠標(biāo)點擊可穿透上層元素)的相關(guān)知識,本文通過截圖實例代碼相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借2020-04-03- 本文給大家分享CSS樣式穿透的幾種方法,結(jié)合實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-10-30