自己尝试了下,发现都不能让文字底部完全在一条线上,中文更加明显,
不知应该如何解决
测试用例
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<meta charset="utf-8" />
<title>底部</title>
</head>
<body>
<div style="border-bottom: 1px solid blue;">
<span style="font-size: 12px; vertical-align: bottom;">哈哈</span>
<span style="font-size: 14px; vertical-align: bottom;">哈哈</span>
<span style="font-size: 16px; vertical-align: bottom;">哈哈</span>
<span style="font-size: 18px; vertical-align: bottom;">哈哈</span>
<span style="font-size: 28px; vertical-align: bottom;">哈哈</span>
<span style="font-size: 38px; vertical-align: bottom;">哈哈</span>
</div>
</body>
</html>
这样就对齐了吧。
@[yszou] 实现的我觉得是没问题的,难道你要完全底部黏在一条线上?
我觉得中文是不行的,因为中文字体实际的底部跟你看到的是不同的,也就是说,中文的底顶端都会有些空白,并且字体越大,空白越大,而且中文应该也没有底线这个概念,所以无法实现像英文一样完全底线黏在一起;
如图:中文底端距离视觉上的底端总有些距离,字体越大,距离越大;
而英文的话,是可以做到的,英文字体有四条线,如果底线对齐,可以实现在一条线上;
如图:英文是完全底线对齐的;
5 回答1.6k 阅读✓ 已解决
5 回答3.1k 阅读
3 回答1.5k 阅读✓ 已解决
2 回答1.1k 阅读
2 回答2.5k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
2 回答1.8k 阅读✓ 已解决
中文也可以,你需要强制对不同大小的字体设定不同的行高。
最终效果如下:
以上为手工调整line-height的结果。如果不想手工调整,而想自动计算的话,代码如下:
效果也还可以,英文的出入比较大,中文略有差距: