z-index为负值的元素无法点击到的解决方法
建站知识 2021-07-03 09:08www.168986.cn长沙网站建设
最近做背投广告,因为默认页面没有设置z-index,发现如果将z-index为负值的元素无法点击到,那么解决方案就是将背投广告z-index设置为1,其它元素z-index增加。
假设有这样一个需求
header和主区域是原来就有的,现在要在页面中加一个背景图,要求该背景图层在主区域之下,但在主区域之外的部分可点击,是一个链接。
我简单思考了下,就知道不能用背景图实现,因为背景图是无法点击的。虽然可以勉强用js监听body点击然后根据点击位置来判断是否是背景图发生了点击,但这未免太笨拙。于是决定在主区域下铺一层,设置z-index:-1.图片设置为bgImg的背景图。代码如下
事实证明这样设置后, bgImg无法被点击到,hover时也不会显示手形,因为z-index为负值的元素将被放置在body层之下,所以点击和hover事件都被body层覆盖了。
解决方案
1. z-index设为0. 主区域设为position:relative; z-index: 1;这样能保证背景层不会影响主区域,并且在主区域外的部分也可以点击。
2.结构与1一样,只是实现方式不同。不使用position,而是使用负margin-bottom实现
背景层 {height: 500px; margin-bottom: -500px;}
主区域不用做任何改动.
原理是负的margin-bottom会将下方的元素拉上来,背景层的高度= height + padding- + padding-bottom + border--width + border-bottom-width + margin-+ margin-bottom = 0. (没设置的属性在reset.css中一律被重置为0了).所以背景层不会占据文档流的空间, 还可以被点击到.
假设有这样一个需求
header和主区域是原来就有的,现在要在页面中加一个背景图,要求该背景图层在主区域之下,但在主区域之外的部分可点击,是一个链接。
我简单思考了下,就知道不能用背景图实现,因为背景图是无法点击的。虽然可以勉强用js监听body点击然后根据点击位置来判断是否是背景图发生了点击,但这未免太笨拙。于是决定在主区域下铺一层,设置z-index:-1.图片设置为bgImg的背景图。代码如下
<!DOCTYPE html> <html> <head> <style> .bgImg {position: absolute; z-index: -1; background: url(...) no-repeat center;} </style> </head> <body> <header></header> <div class="bgImg"></div> <div class="main"><div> </body> </html>
事实证明这样设置后, bgImg无法被点击到,hover时也不会显示手形,因为z-index为负值的元素将被放置在body层之下,所以点击和hover事件都被body层覆盖了。
解决方案
1. z-index设为0. 主区域设为position:relative; z-index: 1;这样能保证背景层不会影响主区域,并且在主区域外的部分也可以点击。
2.结构与1一样,只是实现方式不同。不使用position,而是使用负margin-bottom实现
背景层 {height: 500px; margin-bottom: -500px;}
主区域不用做任何改动.
原理是负的margin-bottom会将下方的元素拉上来,背景层的高度= height + padding- + padding-bottom + border--width + border-bottom-width + margin-+ margin-bottom = 0. (没设置的属性在reset.css中一律被重置为0了).所以背景层不会占据文档流的空间, 还可以被点击到.
长沙网站设计
- 如何自己建一个网站 自己想建个网站,怎么建
- 如何制作网站免费建站 创建网站免费注册
- html简单网页代码 html简单网页代码超链接
- dreamweaver网页制作 dreamweaver网页制作模板
- 上海网站建设 上海网站建设制作微信
- 如何制作网站和网页 如何制作一个网页
- html网页制作代码大全 端午节html网页制作代码大
- app开发公司 app开发公司前十名
- html网页制作 html网页制作文字居中
- app制作一个需要多少钱 请人制作一个app多少钱
- 成都网站制作 成都网站制作维护
- 百度建一个网站多少钱 百度做个公司网站要多少
- html+css网页制作成品 web网页制作成品css+javascrip
- html网页制作案例 html网页设计案例
- html+css网页制作成品 web网页制作成品css+javascrip
- 个人网站模板 个人网站模板HTML