[英]CSS: Vertical-Align text?
我使用以下HTML:
<p><a href="http://www.example.com/">← Back</a></p>
要创建以下内容:
问题是,左箭头没有在中间垂直对齐。 它似乎处于较低的第3位。
问题 :如何使用CSS使左箭头在中间(字母“B”)垂直对齐?
更新 :
我可以垂直调整/对齐这个:
您可以将箭头包装在SPAN标记中,然后使用line-height和vertical-align CSS属性进行播放。
一般情况下你不应该这样做,你应该让它作为字体是由作者构思的。
但是你要改变它你可以这样做:
<p><a href="http://www.example.com/">
<span style="position:relative;top:-3px;">←</span>
Back
</a></p>
注意:使用你需要的而不是-3px
,我用它来说明如何改变位置。
我认为你必须使用一个图像比左箭头&larr
。
可以将&larr
放在一个单独的span
,使用一些特定的填充将箭头移到正确的位置 ,或者使用在中心有箭头的特定字体,但这会产生副作用。
我建议你使用一个图像。
这有两种可能的答案。
span
,给它display: inline-block
和position: relative
并使用垂直填充,边距和线高,直到您满意为止。 您有一些选项:1。在单词Back之前的span标签之间放置箭头,向此span对象添加id,然后在css文件中指定样式: padding-top或bottom以及vertical-align或position relative 。 2.第二个选项是使用图像作为背景,然后您必须为此链接创建样式:
li a#link,#link_conten{
background-image: url(../../../img/arrow.gif);
background-position: left top;
background-repeat: no-repeat;
}
另外,从语义的角度来看,仅将链接(标记a)放在段落(标记p)中并不常见。 然后你必须处理标签a和p的默认css规则,但当然取决于你的设计
您可以使用CSS生成的内容。 这将意味着编辑您的HTML - 删除箭头。 基本上你是在创建一个位于链接前面的伪元素,你可以随意设置它,例如
a.back:before {
content: "\2190 "; /* Unicode equivalent of ← */
display: inline-block;
padding: 5px;
background-color: aqua;
}
在缺点方面,这在IE 6或7中不起作用。您可以通过一些有针对性的JavaScript来解决这个问题。
如果您不想编辑HTML,可以尝试:first-letter
。 它只适用于块级元素,因此您需要相应地工作,例如
a.back {
display: inline-block;
}
a.back:first-letter {
background-color: aqua;
padding: 5px;
}
我很难让它一直显示跨浏览器。 IE8和FF3.6对代码做了不同的事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.