回答
使用display:table
和display:table-cell
,這在所有的現代瀏覽器上運行(IE 8+):
.post {
width: 200px;
height: 200px;
background: rgba(0,0,0,0.8);
display:table;
}
.post h2 {
text-align: center;
width: 100%;
height: 100%;
display:table-cell;
vertical-align: middle;
}
.post h2 a {
color: #f7f7f7;
font-size: 2.2em;
font-weight: normal;
font-style: italic;
width: 100%;
}
+1是的,這是一個很好的解決方案。只要你沒有使用IE 7或更老的人,我想。這裏有一篇關於它的好文章:http://www.jakpsatweb.cz/css/css-vertical-center-solution.html – ksindi
[增訂]
你也可以做這樣的:jsFiddle
.post {
width: 400px;
height: 200px;
background: rgba(0,0,0,0.8);
position:relative;
}
.post h2 {
position:absolute;
top:50%;
width:100%;
text-align:center;
}
.post h2 a {
line-height:100%;
color: #f7f7f7;
font-size: 2.2em;
margin-top:-20px;
display: block;
}
給你的鏈接一個比文本更大的行高,並在中間垂直對齊。然後,絕對定位它的父的專區內是在top: 50%
和利潤率最高減一半鏈接的行高:
.post {
position: relative;
}
.post h2 {
text-align: center;
width: 100%;
position: absolute;
top: 50%;
margin-top: -150px;
}
.post h2 a {
vertical-align: middle;
line-height: 300px;
white-space: nowrap;
}
它甚至在IE7。
我想實現它以不同的方式,(只是爲了好玩),而這一次是工作壓力太大: jsFiddle
的想法是用50%的高度的:before
塊元素。
html, body{
height:100%;
}
.post {
width: 400px;
height: 300px;
background: rgba(0,0,0,0.8);
}
.post h2:before{
content:"";
display:block;
height:50%;
}
.post h2 {
text-align:center;
height:100%;
}
.post h2 a {
color: #f7f7f7;
font-size: 2.2em;
margin-top:-20px;
display: block;
}
希望它可以幫助:-)
調整「.post h2 a」字體大小的靈活性並不大。 – Wex
如果你不介意的話添加額外的HTML類,你簡單的方法是使用垂直對齊:中間。
http://jsfiddle.net/Wexcode/HtNJM/
<div class="post">
<span></span><h2><a href="#">Hello!</a></h2>
</div>
CSS:
* { margin: 0; padding: 0; }
.post {
background: rgba(0,0,0,0.8);
width: 200px;
height: 200px; }
.post span {
height: 100%;
vertical-align: middle;
display: inline-block; }
.post h2 {
position: relative;
text-align: center;
width: 100%;
vertical-align: middle;
display: inline-block; }
.post h2 a {
color: #f7f7f7;
font-size: 2.2em;
font-weight: normal;
font-style: italic;
display: block; }
- 1. 中心垂直元素HTML
- 2. 滾動容器中具有動態高度的垂直中心元素
- 3. 股利需要滾動頁面後,屏幕的垂直中心
- 4. 基於高度的位置元素垂直中心
- 5. 垂直中心僞元素CSS是一個高度'獨立'的箭頭
- 6. CSS動態垂直高度
- 7. 動態高度div內的垂直中心內嵌塊div
- 8. 圖像垂直高度的絕對股利
- 9. 不同高度的垂直中心li
- 10. 高度可變的垂直中心
- 11. CSS中的垂直中心元素
- 12. div中的垂直中心元素
- 13. 垂直CSS(在動態高度)堆棧div元素
- 14. UITableview,垂直居中動態高度單元格的對象?
- 15. 主要垂直滾動影響在一個固定的股利
- 16. 動態股利或CSS/HTML
- 17. 垂直於元素的中心屏幕
- 18. 垂直和水平方向的中心塊(動態寬度和高度)
- 19. 中心h1垂直和水平在一個img元素中
- 20. 垂直中心內容在一個高度div
- 21. 垂直居中在一個元素中
- 22. 垂直/水平中心塊級元素
- 23. CSS垂直中心內聯元素?
- 24. 垂直中心元素與自舉3
- 25. 在固定高度的容器中垂直居中元素
- 26. 垂直中心一個div
- 27. 動態高度浮動元素之間的不需要的垂直空間
- 28. HTML設置圖像中心在股利
- 29. 兩個垂直的子元素需要適合父母的100%高度,兩個動態高度
- 30. 如何垂直對齊動態高度
您正在使用RGBA顏色。那麼假設你不是針對舊版瀏覽器是安全的嗎? – gilly3