safri 对于display:block;的元素显示不出来 其他所有浏览器均正常

今天遇到一个比较坑的问题,就是别的浏览器打开页面都是正常的,唯独只有mac自带的safari浏览器不显示 ,我审查元素 发现这个块是存在的而且是display:block但是就是不存在,1.首先想到的是对于这个是不是mouseover和mouseout事件没执行,结果发现并不是,因为它的指向箭头是变化的,说明事件是执行的
2.我是用得固定定位 所以再次排查是否是固定定位引起的,结果显示也并不是,再控制台修改top值鼠标放到该块上虽然不显示但是位置确实是移动了的
3.此时想到是否是因为z-index引起的,在其他浏览器上屏蔽掉它最外层的z-index,结果和safari情形差不多,那么范围大概就排查到是因为z-index引起的,而safari也是识别z-index的只不过是和定位结合的时候safari的html执行机制与其他浏览器不同,不主要依靠z-index来执行,
4.最后没办法将代码屏蔽去排查是哪层的元素上z-index不够大,发现是最外层父级元素上z-index没有盖掉你将要展示的块z-index大 修改之后,bug完成

分享一下,这次查找一个比较难查找的bug起因

发布了29 篇原创文章 · 获赞 22 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_41628411/article/details/86308197