フロートさせた要素の隙間の処理とかに。
どういうことか
こういうのがあったとする。
<div class="parent">
<div class="child"><a href="">...</a></div>
<div class="child"><a href="">...</a></div>
<div class="child"><a href="">...</a></div>
</div>.parent{
padding: 40px;
position: fixed;
left: 0;
top: 100px;
display: flex;
flex-direction: column;
gap: 40px;
.child{
a{
width: 200px;
height: 60px;
background: #ddd;
}
}
}子要素(.child)をクリックさせたいわけである。
子要素だけクリックできたらそれでいい。
だけど親要素(.parent)のpaddingとかgapとかの部分は親要素の当たり判定があるので、見た目隙間になっていても下のレイヤーがクリックできない。
嫌だよね。
cssで対策できる
こう。
.parent{
pointer-events: none;
.child{
a{
pointer-events: auto;
}
}
}まず全体をpointer-events: none;でクリック対象から除外する。
クリックさせたい部分だけpointer-events: auto;を付与して、クリック対象とする。
注意
pointer-events: none;の対象はクリックできないので、だからjsでセレクタにしてクリックとかホバーで発火させることはできない。
そんな感じ。

コメント