前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CSS实现文字两端对齐

CSS实现文字两端对齐

作者头像
全栈程序员站长
发布2022-09-07 11:14:18
1.3K0
发布2022-09-07 11:14:18
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

最近的项目遇到了这样的需求:(要求标题部分不管文字多少,都必须两端对齐)

如下图:

<span role="heading" aria-level="2">CSS实现文字两端对齐
<span role="heading" aria-level="2">CSS实现文字两端对齐

当时也没有多想直接使用‘&ensp;’进行代替,毕竟产品同学想快一点看到效果,不敢怠慢!不过到第二个页面就傻眼了。

如图:

<span role="heading" aria-level="2">CSS实现文字两端对齐
<span role="heading" aria-level="2">CSS实现文字两端对齐

这很明显‘&ensp;’已经无法满足我了,只好上&emsp;。

这里简单说下几种空格的区别:

&nbsp; 半角的不断行的空白格

&ensp; 半角的空格

&emsp; 全角的空格

页面效果倒是有了,但是后面复盘的时候发现这样的写法一是不灵活(虽然这里是固定内容),二是不够语义化。所以自然想通过css的方式来解决,在text-align中我们可能用到最多的是center属性,还有一个属性是justify(两端对齐),不过页面刷新后并没有(luan)用。其实这里的text-align:justify是可以单独使用的,前提是文本需要超过两行,并且最后一行不会两端对齐。

因此我们需要借助一个空标签span。

html:

<div>职务:<span></span></div>

css:

代码语言:javascript
复制
div{
  width:200px;
  text-align: justify;
}
div span{
  display:inline-block;
  width:100%;
}

这里最完美的做法是使用::after伪元素代替空标签。

PS:后面查阅资料发现text-align-last: justify;可以实现最后一行两端对齐,但似乎兼容性很差(Safari不支持)

<span role="heading" aria-level="2">CSS实现文字两端对齐
<span role="heading" aria-level="2">CSS实现文字两端对齐

CANIUSE

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/155662.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档