fixed元素遮挡下面元素的问题

网页实际开发中会遇到fixed置顶元素,有时需要由后端决定是否显示。
所以在布局上注意fixed元素遮挡问题。

具体解决办法如下:

1、通过添加父元素实现不遮挡

html

<div id="fixed_wrap">
    <div id="fixed">fixed</div>
</div>
<div id="under">under</div>

css

#fixed_wrap {
    height: 150px;
    background-color: aqua;
}
#fixed {
    position: fixed;
}
#under {
    height: 200px;
}

说明:在fixed元素外包裹一个wrap元素,然后给wrap元素设置高度/背景色(fixed元素不设置高度)


2、通过背景透明页面滚动实现

这种情况一般是在不能修改dom元素,并且fixed元素下方是图片的情况下,可以先将fixed元素背景设置为透明色(下方是图片,不算遮挡),在滚动时添加class为fixed元素添加背景色。

js

$(document).scroll(function(){
    var distance = $('.fix').offset().top;
    if(distance > 100 ) {
        $('.fix').addClass('show_back');
    } else {
        $('.fix').removeClass('show_back');
    }
});



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值