pointer-events實現(xiàn)通過上層點(diǎn)擊底層

pointer-events

語法:pointer-events:auto| none | visiblepainted | visiblefill | visiblestroke | visible | painted | fill | stroke | all

默認(rèn)值:auto

適用于:所有元素

繼承性:有

動畫性:否

計算值:指定值

我需要實現(xiàn)的效果 :

問題:點(diǎn)擊背景的banner圖跳轉(zhuǎn)相應(yīng)的店鋪或者專題,但是中間紅色覆蓋在上面,中間這部分點(diǎn)擊不了banner圖。

實現(xiàn)效果:點(diǎn)擊中間這部分空白地方也可以點(diǎn)擊進(jìn)入相應(yīng)的專題和店鋪,移入左側(cè)導(dǎo)航顯示圖2效果,點(diǎn)擊三級菜單跳轉(zhuǎn)相應(yīng)的商品。

圖1
圖2

解決辦法:pointer-events

(1):圖一紅色框的class添加pointer-events:none

這樣實現(xiàn)了透過上層的div,來點(diǎn)擊后面banner的效果,但是上層左側(cè)導(dǎo)航的hover和點(diǎn)擊事件失效。

(2):給上層需要觸發(fā)hover,點(diǎn)擊等事件的clsaa添加pointer-events:auto

即可實現(xiàn)想要的效果。

代碼舉例


<!DOCTYPE html>

<html lang="zh">

<head>

<meta charset="UTF-8" />

<meta name="viewport" content="width=device-width, initial-scale=1.0" />

<meta http-equiv="X-UA-Compatible" content="ie=edge" />

<title>Document</title>

<style type="text/css">

.cancel {

width: 500px;

margin: 100px auto 0px;

position: relative;

color: #FFFFFF;

}

.banner {

text-align: left;

line-height: 200px;

padding-left: 10px;

width: 500px;

background-color: royalblue;

height: 200px;

cursor: pointer;

}

.nav {

text-align: center;

line-height: 100px;

width: 200px;

left: 150px;

position: absolute;

top: 50px;

background-color: #8A6DE9;

height: 100px;

cursor: pointer;

pointer-events:none;/*nav的div在頁面展示是在banner上層,所以給上層的div增加pointer-events:none;*/

}

.leftNav{

width: 100px;

height: 100px;

color: #000000;

background-color: #FFFFFF;

cursor: pointer;

pointer-events:auto;/*leftnav的div在頁面展示是在nav上層,leftNav有點(diǎn)擊事件,增加pointer-events:auto;避免leftNav點(diǎn)擊事件失效*/

}

</style>

</head>

<body>

<div class="cancel">

<div class="banner" onclick="banner()">banner</div>

<div class="nav"><div class="leftNav" onclick="leftnav()" >leftnav</div></div>

</div>

<script type="text/javascript">

function banner() {

                alert("我點(diǎn)擊的banner")

}

function leftnav() {

                alert("我點(diǎn)擊的leftnav")

}

</script>

</body>

</html>

頁面效果圖

點(diǎn)擊藍(lán)色部分

點(diǎn)擊紫色部分

點(diǎn)擊白色部分
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容