親を に設定してから要素を に設定して、要素を垂直方向に中央揃えにしようとしていdisplay: table
ますdisplay: table-cell; vertical-align: middle;
。また、要素の高さ34%
とその親を に設定し100%
て、画面いっぱいに表示されるようにします。
これは、Firefox 以外のすべてのブラウザー (IE 8 以降を含む) で完全に機能します。Firefox は高さを無視し、span 要素の高さに折りたたまれます。
なぜこれが起こるのでしょうか?
CSS
#homeNav ul {
padding: 0;
margin: 0;
height: 100%;
}
#homeNav li {
height: 34%;
display: table;
width: 100%;
}
#homeNav li a {
min-height: 177px;
height: 100%;
line-height: 100%;
display: block;
text-decoration: none;
font-size: 48px;
border-bottom: 1px solid #fff;
display: table-cell; vertical-align: middle;
}
#homeNav li a.last {
border-bottom: none;
}
#homeNav li a:hover, #homeNav li a.active {
background: none;
}
#homeNav li a span {
padding: 50px 0 50px 100px;
display: block;
background: url(../images/main-nav-hover_bg-large.png) no-repeat;
background-position: 120px 50px;
padding-left: 160px;
}