方法1 使用position:relative;
和top:50
和transform: translateY(-50%)
你可以得到它爲中心,這是那麼好,如果你不知道該元素的高度,像這樣:
Suppo rt:IE9 +和所有其他瀏覽器,caniuse.com。
JS Fiddle 1
header {
width: 960px;
height: 90px;
margin: auto;
background-color: #000;
}
.logo {
position:relative;
width: 209px;
height: 54px;
top:50%;
left:0;
transform: translateY(-50%);
background-color: #ced0d8;
}
<header>
<div class="logo"></div>
</header>
方法2:使用.calc()
CSS功能,如果你知道元素的高度,這樣的:
支持 :IE9 +和所有其他的瀏覽器,caniuse.com
JS Fiddle 2
header {
width: 960px;
height: 90px;
margin: auto;
background-color: #000;
}
.logo {
position:relative;
width: 209px;
height: 54px;
top:calc(50% - 27px); /* 50% parent height - 27px is half of 54px the height of .logo */
left:0;
background-color: #ced0d8;
}
<header>
<div class="logo"></div>
</header>
方法3:,如果你知道這兩個元素的高度,你可以手動減去的一半高度.logo
從父div的高度的一半,所以2分之90 - 54/2 = 18,如下所示:
支持:所有瀏覽器,caniuse.com。
JS Fiddle 3
header {
width: 960px;
height: 90px;
margin: auto;
background-color: #000;
}
.logo {
position:relative;
width: 209px;
height: 54px;
top:18px; /* 90/2 - 54/2 = 18 */
left:0;
background-color: #ced0d8;
}
<header>
<div class="logo"></div>
</header>
http://stackoverflow.com/a/31977476/3597276 –