原因

出于方便我将echarts的div设置为height: 50vh,但ehcart标签内部会将50vh转换为具体的px,同时使用四舍五入,而不是直接舍去。

这样就会导致echart的div高度为470.5px(手动转换方便理解),但是内部的div高度为471,如果父元素设置了overflow: auto,这样就会导致父元素高度为470.5px但实际高度为471(auto计算的高度会包括absolute和float),多出来的0.5px就会让滚动条出现。

解决办法

  1. 手动设置echart里面的div overflow为hidden
  2. 取消el-main的overflow
  3. 设置padding的高度。因为border-box会将content padding border算作内容宽高,如果原本的content超出会占据 padding和border设置的宽高