怎么通过CSS实现冒号对齐

发布于 2022-09-01 17:11:47 字数 886 浏览 19 评论 0

update:
请注意是两端对齐,而不是简单的右侧对齐。


排版 - ANT DESIGN上看到他们有提到冒号对齐的排版规范,如下图所示,请问怎样用CSS实现冒号对齐的效果?
冒号对齐

我想到的解决方案如下:
html结构:

<ul>
<li><div class="title">用户名</div><div class="value">可爱无敌美少女</div></li>
</ul>

css:

li{
  position: relative;
}
.title{
  position: absolute;
  width: 85px;
  text-align: justify;
  text-align-last: justify;
}
.title:after{
  display: inline-block;
  content: '';
  width: 100%;
  height: 0;
}
.title:before{
  position: absolute;
  left: 85px;
  content: '\FF1A';
}
.value{
  padding-left: 110px;
}

请问有没有可能不限定title宽度的条件下,实现冒号对齐,或者有更好的解决方案?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

奈何桥上唱咆哮 2022-09-08 17:11:47

这里有个奇技淫巧。
只要知道最长字符的个数,比如用户名三个字,密码是两个字,在密码中间使用全角符号输入空格。全角一个空格刚好占用一个汉字的宽度。所以其实跟三个字一样的。
半角空格效果:
用户名:
密 码
全角空格效果:
用户名:
密 码:

流云如水 2022-09-08 17:11:47
  • 我理解的不限定title宽度的条件,是不需要根据文本内容来设定绝对宽度,如2个字width:40px,4个字width:80px;

  • 换一种思路考虑使用%来设宽度,设定一个左侧的初试值27%,当右侧内容不饱和时,左侧可达到自适应的假象效果

  • 以下示例中可以删除左侧文本较长的字段,查看左侧自适应效果

https://jsfiddle.net/Alsiso/hkbjcckf/

浅笑轻吟梦一曲 2022-09-08 17:11:47

可以用table布局,然后第一列右对齐,其他列左对齐。

稀香 2022-09-08 17:11:47

text-align: jusifity; 不过存在兼容问题
或者使用
letter-space: 1em; 这个值根据情况设定特定的属性值

后eg是否自 2022-09-08 17:11:47

太简单了,不用css啊,用全角空格"&e msp;",
用户名:
密 码:
邮 箱:
验证码:

绮烟 2022-09-08 17:11:47

空格:    (半个字)  (一个字)

梦幻的心爱 2022-09-08 17:11:47

这个最好的方案其实是margin-left: 0.5em

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文