Html CSS:垂直对齐文本?
我正在使用以下HTML:Html CSS:垂直对齐文本?,html,css,Html,Css,我正在使用以下HTML: <p><a href="http://www.example.com/">← Back</a></p> 要创建以下内容: 问题是,左箭头不是在中间垂直对齐。它似乎位于第三个较低的位置 问题< /强>:如何使用CSS?使左边箭头垂直地排列在字母(b)的中间? 更新: 我是否可以垂直调整/对齐: 不修改我的HTML,并且 不使用图像 一般来说,你不应该这样做,你应该让它的字体是由作者构思的 但如果
<p><a href="http://www.example.com/">← Back</a></p>
要创建以下内容:
问题是,左箭头不是在中间垂直对齐。它似乎位于第三个较低的位置
<强>问题< /强>:如何使用CSS?
使左边箭头垂直地排列在字母(b)的中间?更新: 我是否可以垂直调整/对齐:
一般来说,你不应该这样做,你应该让它的字体是由作者构思的 但如果你想改变它,你可以这样做:
<p><a href="http://www.example.com/">
<span style="position:relative;top:-3px;">←</span>
Back
</a></p>
注意:使用您需要的内容而不是
-3px
,我使用它只是为了说明如何更改位置。您可以将箭头包装在SPAN标记中,然后使用行高和垂直对齐CSS属性。箭头是一个简单的字符,因此它与其他字符一样对齐(它位于“中间”),字体的创建者希望它位于原处……也许这是小写字符的中间部分)。也许用另一种字体看起来不一样,也许不是。如果您有一个固定字体,而这个字体看起来很凌乱,您可以尝试使用选择器(或将箭头用span
或其他方式包装)将其上移1或2像素(位置:相对:顶部:-2px;
)
另一个解决方案是使用图像,就像大多数网站一样(我最喜欢的是有图像)我认为你必须使用图像作为左箭头,而不是
&larr
可以将
&larr
放在单独的span
中,使用特定的填充将箭头置于正确的位置,或者使用箭头位于中心的特定字体,但这会产生副作用
我建议您使用图像。有两种可能的答案
span
内,给它显示:内联块
和位置:相对
,玩垂直填充、边距和线高,直到你满意为止 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;
}
缺点是,这在IE6或IE7中不起作用。您可以使用一些有针对性的javascript来解决这个问题
如果您不想编辑HTML,可以尝试一下:第一个字母。它只适用于块级元素,因此您需要相应地工作,例如
a.back {
display: inline-block;
}
a.back:first-letter {
background-color: aqua;
padding: 5px;
}
不过,我很难让它跨浏览器一致地显示。IE8和FF3.6在代码方面做了相当不同的事情。我喜欢Fam:D我还建议使用图标或图形。看起来更为优雅:你是否能够让第一个字母开始工作,因为我没有。对于你的更新:是的,是的,就像我在回答中所说的:使用:第一个字母选择器。我尝试在Firefox中使用:第一个字母选择器,但它似乎不起作用,这就是为什么我更新了postAh。似乎:第一个字母仅适用于块级元素。