在mui中遇到的内容覆盖导航栏的问题

一、问题描述:

公司项目中为了让内容以页面的形式显示,并要格式化页面内容,采用了百度的UEditor编辑器来显示内容,但是遇到了一个问题就是当下拉页面到一定距离之后,页面上方的导航栏会被内容遮盖。

二、解决办法:

将导航栏(mui头部)的z-index的值设置成大于内容区域(UE编辑器)的z-index。因为对z-index不是特别熟悉,应该说对滚动页面的实现不太熟悉,所以找问题原因的时候没有第一时间想到是这个问题。在调试器中看到UEditor编辑器的样式有个position:fixed,第一个想到的就是改变这个定位的样式。后来的测试发现,只能用改变z-index的值这种方式才有效,因为在百度UEditor编辑器的实现中,编辑器的样式是动态添加的,就算改变了编辑器的定位方式,但是它被设了一个1000大小的z-index,它始终大于mui头部默认的z-index的大小。所以内容往上拉到一定距离就会在mui页面的头部上方显示。

三、详细分析:

初始情况下,mui的头部的z-index等于10,显示滚动UEeditor编辑器有关的div好像还没有这个属性.

在mui中遇到的内容覆盖导航栏的问题

当内容往上拉到一定高度的时候,UEditor的一个div有了一个z-index等于1000的值(好奇UEditor的实现),elememt.style的样式有一个z-index等于1000,如下:

在mui中遇到的内容覆盖导航栏的问题

改变mui头部的z-index的值,将其值设置成一个大于和UEditor编辑器滚动有关的div的z-index的值,这样就可以让mui的头部总是在编辑器的上方显示了: