看起来很简单的问题,解决起来很麻烦,问题在于:
1、el-avatar默认是个方形的。
2、标准照片是宽小于高的长方形。
3、照片显示不得变形,裁剪的话位置要适当,不得出现上下左右白底情况。
调整过程中也出现了很多坑,简单问题也花了很长时间。原以为设置el-avatar的fit属性就能搞定,根本就不起作用。
最终解决原理如下:
1、设置el-avatar大小,例如55*55。
2、按照片比例,设el-avatar内部img大小,如50*65。
3、fit属性用fill!
4、垂直方向,调整img相对el-avatar(是个span)顶部对齐。
5、水平方向,调整img相对el-avatar(是个span)居中对齐。
6、调整el-avatar的背景色和照片背景色一致。
关键点:/deep/ .el-avatar img 用这个定位img
el-avatar本身采用
display: flex;
justify-content: center;
align-items: flex-start; 来控制img位置