记录按钮无法点击的现象

最近遇见一个了按钮失效的问题,这里记录下按钮失效的现象。
参考的文章:https://blog.csdn.net/Cool_so_cool/article/details/107123490

elementui的button组件和layout的组合使用,在点击按钮时,发现鼠标不是平时的小手,而是箭头。不知道怎么回事了,首先先看下点击事件是否触发了,发现没有触发。
问题代码:

<el-row style="height: 120px; border: 1px solid black; width: 300px;">
    <el-col :span="16">
        <div style="height: 120px; background-color: blue;"></div>
        <el-button>btn</el-button>
    </el-col>
</el-row>
<el-row style="border: 1px solid black; height: 100px;"></el-row>

在网上看到一篇文章,看后意识到可能是button被遮挡住了。这里去掉第一个el-row设置的高度后,可以点击。但是要寻找原因,通过排查发现el-row和el-col组件的css样式中都使用了position:relative,对元素进行了相对定位。第一个el-row设置固定高度120px后,而第一个el-row中div也设置了120px的高度,导致按钮溢出第一个el-row,而第二个el-row相对于第一个el-row进行定位,第二个el-row的top又是0,导致第二个el-row覆盖了按钮。
如图所示现象:
第一个el-row设置了固定高度,按钮无法点动 在这里插入图片描述
看着挺正常的,这里给row加上背景色,可以看到btn被挡住了
在这里插入图片描述
去掉第一个el-row的固定高度,按钮可以点击

在这里插入图片描述
那么自己使用html再复现这个按钮无法点击的问题

<div style="height: 120px; border: 1px solid black; width: 300px;">
    <div style="border: 1px solid green; width: 230px;">
        <div style="height: 120px; background-color: blue;"></div>
        <button type="button">btn</button>
    </div>
</div>
<div style="border: 1px solid black; height: 100px; position: relative; background-color: blueviolet;"></div>

自己做个小总结:子元素溢出父元素,子元素会被父元素的下一个使用了相对定位的元素覆盖掉(top:0px)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值