携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第10天,点击查看活动详情
昨天的问题,今天我解决了!!哇,可真是很简单,都后悔挂出来了。但记录下来,也是提醒自己,越是遇到这种简单问题,越要认真看,仔细分析要点出在哪里。找到关键点,改起来就八九不离十。
回顾一下(绝不是凑字数)
如上图,正常大小下,侧边菜单列表中菜单项是有九项的,但如果把页面放大,就会变成下图所示:
可以看出由于页面被放大,侧边菜单列表的 高度 变小,然后菜单项就变成了 八项。
思路
我昨天在分析时,其实大致方向是对的,就是页面放大,导致侧边 el-aside 的高度变小,进而导致展示不出来最后那一项。感觉其实最后一项已经加载出来了,只是由于页面高度原因,看不到,被挡在了最下面。找到了最根本的原因———— 高度,就好办了,其实还是改高度,但这里改高度也很有讲究。
解决
之前其实我也有试过改高度,但一直没成功,我就以为不是这个问题,但今天无意中看到了高度的另一种写法,试了一下,就成功了。
之前的写法:
.el-aside {
height: calc(100% - 10px);
overflow: auto;
}
因为我也不确定到底高度应该减多少,所以先减了10像素,但真正到页面中去调的时候,发现减来减去,都不完美:如果高度减去很多,达到最后一项不会被挡的临界值,这时放大,最后一项还是在的,但由于减去很多,导致页面很丑,就像是侧边漏了一部分(如下图1,图2);
图1
图2
如果高度减去的比较少,虽然视觉效果上好了一点(但还是有漏掉一部分),但页面放大后,最后一项还是被挡,还是看不到(如下图3,图4);
图3
图4
现在的写法:
.el-aside {
height: calc(100vh - 45px);
overflow: auto;
}
这样写,我在页面中调了一下,找到了减去的最佳值45像素,然后能够同时满足 侧边不会因为减去这么多有一部分是漏掉的 和 页面放大后,最后一项也不会被挡住,如图5和图6;
图5
图6
问题解决,算是了却了心里的一件小事 :) 自己亲手实验过,应该不会有问题。
不过如果文章其他地方有错误,还望指正。
我向你敬礼啊,Salute!