不能使用链接垂直居中文字,这是我的HTML代码:
<div style="background: #F7C0B9;width: 645px;height: 70px;margin: 0 auto;outline: 1px solid #FFF;text-align: center;vertical-align: middle;line-height: 70px;">
<p style="">
Text <br />
<a href="#">
Link
</a>
</p>
</div>
我试图指定垂直对齐,对于p标记,也尝试了行高,但没有成功,链接仍然不合适。
jsfiddle:http://jsfiddle.net/85q6wqjx/
答案 0 :(得分:4)
您可以按如下方式实现此布局。
首先,将display: inline-block
设置为p
,这样您就可以将其对齐
内容框的基线。
其次,您需要将line-height
内的p
重置为合理
使行间距看起来正确的值。
第三,将vertical-align: middle
应用于p
元素以使其具有。{1}}
期望的效果。
这种方法适用于任何数量的文本行,如图所示。
请参阅小提琴:http://jsfiddle.net/audetwebdesign/1mwkbr0q/
.panel {
background:#F7C0B9;
width:645px;
height:170px;
margin:0 auto;
outline:1px solid #FFF;
text-align:center;
line-height: 170px;
}
.panel p {
vertical-align: middle;
display: inline-block;
border: 1px dotted gray;
line-height: 1.25;
}
<div class="panel">
<p>Text<br /> <a href="#">Link<br>a 3rd line for example</a></p>
</div>
答案 1 :(得分:2)
请删除<br>
标记,以获得您想要的内容
并使用
更新您的代码段 <div style="background:#F7C0B9;width:645px;height:70px;margin:0 auto;outline:1px solid #FFF;text-align: center;padding: 17px 0;box-sizing: border-box;">
<p style="margin: 0;">Text</p>
<a href="#">Link</a>
</div>
答案 2 :(得分:2)
如果你想在文本下面的链接,但仍然在中间:
<div style="background:#F7C0B9;width:645px;height:70px;margin:0 auto;outline:1px solid #FFF;text-align:center;vertical-align: middle;">
<p style="display:inline-block;">
Text <br />
<a href="#">
Link
</a>
</p>
</div>
您的line-height
将其推到div
之外,而p
是一个阻止元素阻止它进入。您需要将p
设为inline-block
元素。
如果您希望它们位于同一行,请从html中删除<br>
。
br
是一个换行符和line-height
效果。
答案 3 :(得分:0)
只需将以下代码添加到您的css文件
即可a {
margin-top: -8%;
display: block;
}
如果要添加样式特定锚标记
,则为锚标记提供class / id名称