问题背景
B端平台内,右侧内容遮住了左侧菜单。
经过css查看发现,菜单进行了层级设置,z-index值为99。
右侧内容是table,th层级是200,td层级是100。
问题分析
既然右侧层级高,那直接降低右侧层级或者提高左侧层级可以吗?
这是最直接的解决办法,但是却不行,因为table是封装好的组件,菜单是公用组件,不宜直接更改层级值。
还有其他的解决方法吗?
带着疑问,我打开了md的z-index的文档。
这段话引起了我的疑惑。堆叠上下文是什么?
层叠上下文
如何创建?有这些方法:
层叠上下文的特性?
解决问题
了解了层级上下文的特性后,如何解决遮盖的问题呢?
把组件外层设置成层叠上下文,即可让组件的层级只在内部生效。
把组件设置成层叠上下文的方法很多,图一的都可以。 在当前问题下,我使用了第一个方法,把表格外层加上相对定位,层级低于菜单组件,从而解决了问题。
每次遇到的问题,都是进步的契机,耶✌🏻。