[英]Align vertically an image and two lines of text
我在這里閱讀了很多文章,很多帖子,但不幸的是我無法將2行文本和圖像垂直居中。
<a class="button" href="">
<img src="http://dummyimage.com/30x30/cf97cf/fff">
Button
<span>Button alt</span>
</a>
我希望圖像旁邊的2行(居中),並將整個內容垂直居中於.button
。
body {
padding: 20px;
}
.button {
background: #000;
color: #fff;
text-decoration: none;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
height: 120px;
padding: 30px 50px;
display: inline-block;
}
span {
font-size: 11px;
color: #ccc;
display: block;
}
img {
vertical-align: middle;
}
在CSS-Tricks中我發現了一篇文章,但我不想使用position:absolute
來居中。 是否有任何干凈的方法將文本/圖像集中在<a>
?
JsFiddle: http : //jsfiddle.net/7fx3eozd/
您可以使用class .button
和vertical-align: middle
將display: table-cell
添加到元素:
body { padding: 20px; } .button { background: #000; color: #fff; text-decoration: none; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; height: 120px; padding: 30px 50px; display: table-cell;/*change display to table-cell*/ vertical-align: middle;/*add vertical align middle*/ } span { font-size: 11px; color: #ccc; display: block; } img { vertical-align: middle; }
<a class="button" href=""> <img src="http://dummyimage.com/30x30/cf97cf/fff">Button <span>Button alt</span> </a>
你也可以將text
和span
包裝在div
然后將div
和img
包裝在另一個div
然后添加這些類:
還添加display: inline-block;
在你的img
.center {
position: relative;
top: 50%;
transform: translateY(-50%);
}
.btnText {
vertical-align: middle;
display: inline-block;
}
body { padding: 20px; } .button { background: #000; color: #fff; text-decoration: none; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; height: 120px; padding: 30px 50px; display: inline-block; } span { font-size: 11px; color: #ccc;; display: block; } img { vertical-align: middle; display: inline-block; } .center { position: relative; top: 50%; transform: translateY(-50%); } .btnText { vertical-align: middle; display: inline-block; }
<a class="button" href=""> <div class="center"> <img src="http://dummyimage.com/30x30/cf97cf/fff"> <div class="btnText"> Button <span>Button alt</span> </div> </div> </a>
你可以將img
和span
包裝在div
(帶有類中心)
<a class="button" href="">
<div class="center">
<img src="http://dummyimage.com/30x30/cf97cf/fff">
Button
<span>Button alt</span>
</div>
</a>
然后添加這個css:
.center {
position: relative;
top: 50%;
transform: translateY(-50%);
}
說明:將div
位置設置為前50%
,然后將其移動到頂部,其高度為50%(translateY -50%)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.