Css:如何解决绝对定位子元素内容被父级元素overflow:hidden属性剪裁

一、问题描述

今天小伙伴提了一个bug,在点击列表项的“…”按钮应该出现的悬浮菜单显示不完整:

Css:如何解决绝对定位子元素内容被父级元素overflow:hidden属性剪裁_第1张图片

二、问题排查

一般这种问题,是由于悬浮菜单采用的是绝对定位,而父级采用了overflow:hidden属性。但需要注意的是,这里的父元素并非指直接父元素,也可以是任意层级的祖先元素。而且并非父级设置overflow:hidden属性就一定会对内部绝对定位的子元素产生影响。

关于“overflow:hidden截断条件‌及如何避免截断”可以查看之前文章《Css:overflow: hidden截断条件‌及如何避免截断》

三、解决办法

在之前文章《Css:overflow: hidden截断条件‌及如何避免截断》中提到了4种避免截断的方法,由于悬浮菜单需要根据列表项进行定位,为了最大限度的不改变原有的实现,这里采用padding及负值margin进行调整

Css:如何解决绝对定位子元素内容被父级元素overflow:hidden属性剪裁_第2张图片

你可能感兴趣的:(开发问题,Css学习,css,前端,overflow裁剪)