css实现两端对齐效果

CSS实现两端对齐效果

两端对齐,从概念上来说,其实不难理解。如果不明白什么叫两端对齐,可以玩玩word等办公软件。

下面谈谈如何实现文本的两端对齐。我所知道的大概有以下几种方法

text-align

w3school指出,text-align用于设置块级元素内文本的水平对齐方式。如果想使inline元素或inline-block元素居中对齐,可以使用text-align: center方法,对于block元素无法使用text-align实现居中对齐。如果想让block元素居中对齐,可以使用margin: auto方法。

text-align属性下有一个justify值可以设置元素的两端对齐。但是text-align: justify属性有一些不足之处:

  1. 在单行文本下,无法实现两端对齐效果。
  2. 在多行文本下,无法实现最后一行文本的两端对齐效果。

单行文本

<div class="keith">unclekeith wanna be a geek!</div>
.keith {
    background-color: lightblue;
    text-align: justify;
}


对于多行文本而言,如下图,按照我们的理解应该如右图显示,可是在设置text-align: justify之后,会按照左图显示。无法是西安最后一行文本的两端对齐效果。

解决方法

如果要真正的实现两端对齐效果,可以用以下方法解决。

解决方法的思路:由于在单行文本下和多行文本下最后一样无法实现两端对齐效果,因此给元素新增一行,即可实现justify的两个不足之处。
.keith {
    text-align: justify;
}
.keith:after {
    display: inline-block;
    width: 100%;
    content: ‘‘;
}


如果感觉最后多了空行,可以为元素设置一个高度,并且设置overflow: hidden隐藏掉即可。

justify-content

CSS3新增的flex布局下,有一个justify-content属性,此属性可以控制伸缩项目的水平对齐方式。其中有两个值,可以实现两端对齐。但是justify-content存在兼容性问题,IE10以上,FF,Chrome都支持。而所有浏览器都支持text-align属性

justify-content: space-around。 伸缩项目会平均地分布在伸缩容器内,两端保留一半的空间。
justify-content: space-between。伸缩项目会平均地分布在伸缩容器内,第一个伸缩项目在伸缩容器的左边缘,最后一个伸缩项目在伸缩容器的右边缘。

justify-content: space-around;

justify-content: space-between

时间: 2025-01-07 13:33:25

css实现两端对齐效果的相关文章

css实现两端对齐的3种方法

<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="author" content="monicaqin"> <meta name="format-detection" content="telephone=no" /> &

css 文本两端对齐

在做表单时我们经常遇到让上下两个字段对齐的情况,比如姓名, 手机号码, 出生地.这样我们就要用到 text-align, text-justify样式了. text-align直接设为justify就行了,text-justify的情况就复杂了,可能有人对它还不熟悉.IE的取值如下: auto :允许浏览器用户代理确定使用的两端对齐法则 inter-word :通过增加字之间的空格对齐文本.该行为是对齐所有文本行最快的方法.它的两端对齐行为对段落的最后一行无效 newspaper : 通过增加或

可用的CSS文字两端对齐

最近在工作项目中接触到Web界面设计的问题,要实现文字两端对齐的效果.在网上搜索了一下,用的都是类似的技巧: text-align:justify;text-justify:inter-ideograph; 我遇到问题是:看不到效果,无论是英文还是中文,在IE和chrome下都不起作用.还好在StackOverflow上找到了解决方法 :) 样式: 1 div.justify 2 { 3 text-align: justify; width:200px; font-size:15px; colo

【】小技巧】CSS文字两端对齐

需求如下,红框所在的文字有四个字的.三个字的.两个字的,如果不两端对齐可以选择居中对齐,或者右对齐.但是如果要像下面这样两端对齐呢? 我相信以前很多人都这么干过:两个字中间使用 来隔开达到四个字的宽度,三个字也可以,但是,像上图中“122账号”“122密码”这样的,就不好计算该用几个空格了. 假如我们有如下HTML: <div>这世间唯有梦想和好姑娘不可辜负!</div> 给它加点样式 div{ width:500px; border:1px solid red; text-ali

css实现两端对齐~

今天做表单时遇到让上下两个字段对齐的情况,手机号码.用户名. 然后今天在网上找了找相关方法,发现确实是没有什么好的方法解决,特别是当需要兼容的时候.找到了两个我觉得相对还不错的方法: 方法一.是在司徒正美的博客上看到的—— text-align, text-justify: 需要设置 text-align为justify就行了,text-justify的情况复杂些.IE的取值如下: auto :允许浏览器用户代理确定使用的两端对齐法则 inter-word :通过增加字之间的空格对齐文本.该行为

css文本两端对齐

在做表单时我们经常遇到让上下两个字段对齐的情况,比如姓名, 手机号码, 出生地.这样我们就要用到 text-align, text-justify样式了. text-align直接设为justify就行了,text-justify的情况就复杂了,可能有人对它还不熟悉.IE的取值如下: auto :允许浏览器用户代理确定使用的两端对齐法则 inter-word :通过增加字之间的空格对齐文本.该行为是对齐所有文本行最快的方法.它的两端对齐行为对段落的最后一行无效 newspaper : 通过增加或

CSS文字两端对齐

text-align: justify; text-justify: distribute-all-lines; text-align-last: justify; width: 86px

文字单行两端对齐效果

<style> .li{line-height:30px;overflow:hidden;width:200px;height:30px;text-align:justify;text-align-last:justify;border:1px solid black;} .li:after{display:inline-block;overflow:hidden;width:100%;height:0;content:'';}</style> <ul style="

CSS 文字两端对齐

.key { display: inline-block; width: 100px; vertical-align: text-top; text-align: justify; text-justify: inter-ideograph;/*IE*/ } .key:after { content: " "; display: inline-block; width: 100%; } 原文地址:https://www.cnblogs.com/caster-xzn/p/10309464