这种情况下,利用绝对定位只需要以下三行:
parentElement{ position:relative; } childElement{ position: absolute; top: 50%; transform: translateY(-50%); }
这种情况下,只需要使用相对定位即可:
parentElement{ height:xxx; } .childElement { position: relative; top: 50%; transform: translateY(-50%); }
CSS 垂直居中效果演示:Edit fiddle - JSFiddle
不考虑兼容老式浏览器的话,用 Flex 布局简单直观一劳永逸:
parentElement{ display:flex;/*Flex布局*/ display: -webkit-flex; /* Safari */ align-items:center;/*指定垂直居中*/ }
CSS 垂直居中效果演示:CodePen.io