CSS实现文字两端对齐

2023/8/31 CSS

# text-align (opens new window)可以用来设计文本内容的对齐方式

text-align 属性规定元素中的文本的水平对齐方式。

  1. start:内容对齐开始边界
  2. end:内容对齐结束边界
  3. left:内容左对齐(默认值)
  4. right:内容右对齐
  5. center:内容居中对齐
  6. justify:内容两端对齐

# text-align (opens new window) 对齐规则

text-align属性规定元素中的内容(例如文字)的水平对齐方式。对齐方式相对于它的所属的元素,此元素本身相对于父元素的对齐方式不受text-align属性影响

  1. text-align只对块级元素或者table-cell有效果
  2. text-align并不控制块元素自己的对齐,只控制它的行内内容的对齐
  3. justify:文字向两侧对齐,对最后一行无效

# 效果图

# 代码片段:

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        span{
            width: 100px;
            text-align: justify;
            float: left;
            overflow: hidden;
        }
        span:after{
            content:'';
            width: 100%;
            display: inline-block;
            height: 0;
        }
        input{
            width: 100px;
        }
    </style>
</head>
<body>
    <div class="demo">
        <span>昵称</span><input type="text" style = 'width: 100px'><br><br>
        <span>电邮箱</span><input type="email" style = 'width: 100px;'><br><br>
        <span>电子邮箱</span><input type="email" style = 'width: 100px;'>
    </div>
</body>

# 注解

给span标签添加伪元素,让伪元素独占一行且是最后一行,这样span的内容就可以通过text-align (opens new window)的规则实现左右对齐的效果了

::after (opens new window)用来创建一个伪元素,作为==已选中元素的最后一个子元素==。通常会配合content属性来为该元素添加装饰内容。这个虚拟元素默认是行内元素。

为什么不使用justify-all (opens new window)

text-align还有一个可选值justify-all,根据MDN上的定义:justify-all同justify一样,区别是最后一行也会两端对齐。

为什么不使用justify-all呢?因为justify-all是一个体验性的API,各个主流浏览器都不支持,浏览器支持度

更新时间: 2023/8/31 17:38:58