未知宽高 1、把父元素设置成table,子元素为table-cell,然后用vertical-align:center 优点:父元素可以改变高度 缺点:IE8以下不支持,且对img无效果 2、用一个空标签并设置vertical-align的基准线为中间,并让它inline-block,宽为0,高度100% 缺点:多了没用的空标签,且转为行内块 IE6、7不支持 (可用_zoom:1;*display:inline解决兼容) 3、让该元素的父元素line-height=height,并转成行内块,在vertical-align 缺点:只适用于HTML5 已知宽高 给父元素相对定位,子元素绝对定位 1、绝对定位;margin:auto;top:0;left:0;bottom:0;right:0; 2、绝对定位;top:50%;向上移动高的一半(负数) left:50%;向左移动宽的一半(负数) 3、绝对定位;top:50%;left:50%;transform:translate(-50%,-50%) 已知或未知 给父元素body加(display:flex;justify-content:center;align-items:center) 给html、body加(height:100%)