如何解决text-align: justify;浏览器、安卓手机不兼容问题

本文介绍了一种在不同浏览器及移动端实现文本两端对齐的方法,包括使用text-align-last、添加空标签、text-justify属性及在文字间添加空格等方式,并提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天需要切一个响应式网页,有一行文字,需要实现两端对齐。

代码如下:

.h_text{
    text-align: justify;
    width: 200px;
} 
<h1 class="h_text">这一行要两端对齐</h1>

根据经验找到text-align:justify;首先用PC端浏览器测试,刷新网页没起作用。

在网上搜寻,发现“只有一行文字或者最后一行文字,是没效果的,默认靠左对齐”。

解决办法有以下几个:

1、使用“text-align-last:justify;”意思是告诉电脑,“这是最后一行代码,也给我两端对齐了”

.h_text{
    text-align-last: justify; 
    width: 200px;
}
<h1 class="h_text">这一行要两端对齐</h1>

但text-align-last并不是所有浏览器都兼容。

2、在文字后边加一行,然后给隐藏了

.h_text{
    text-align: justify; 
    width: 200px;
}
.span_hid{
    display: inline-block;
    width: 100%;
    opacity: 0;
}
 
<h1 class="h_text">
    这一行要两端对齐
    <span class="span_hid">隐藏的一段代码</span>
</h1>

隐藏后文本还是会占位置,影响布局效果不好,而且这么low的行为,不符合一个工程师的身份。

3、在文字后边加一个空标签

.h_text{
    text-align: justify; 
    width: 200px;
}
.span_hid{
    display: inline-block; 
    width: 100%;
}
 
<h1 class="h_text">
    这一行要两端对齐
    <span class="p_hid"></span>
</h1>

嗯,这样就好多了,但是对IE浏览器还是有些问题。

4、这时需要添加“text-justify:inter-ideograph;”大意就是,增加或减少词间的空格

.h_text{
    text-align: justify; 
    text-justify: inter-ideograph;
    width: 200px;
} 
.span_hid{ 
    display: inline-block; 
    width: 100%;
}
 
<h1 class="h_text">
    这一行要两端对齐
    <span class="span_hid"></span>
</h1>

完美解决了对IE浏览器的兼容。

如果只兼容PC端浏览器,就已经解决了。

But,还要兼容手机浏览器。

QQ、微信软件内打开网页,没问题。下载安装的浏览器:QQ、UC等也没有问题。iPhone手机自带浏览器也没有问题。
但是用安卓手机再带的浏览器,问题就出现了。完美的向左靠齐,怎么搞就是没效果。

于是又重新走了一遍1-4的流程。结果并没什么用。

经过查询找到一个问题。text-align-last,safari 不支持的解决办法

文章中提到:IE浏览器中需要文字间添加空格。那么安卓浏览器会不会也这样。

5、于是给每个文字之间添加了一个空格,成功解决了各浏览器不兼容、手机端不兼容的问题。

.h_text{ 
    text-align: justify;
    text-justify: inter-ideograph;
    width: 200px;
} 
.span_hid{ 
    display: inline-block;
    width: 100%;
}
 
<h1 class="h_text">
    这 一 行 要 两 端 对 齐
    <span class="span_hid"></span>
</h1>

当然文字少是没啥问题,但是文字比较多的话,需要一些JS代码给文字之间加空格。

var text= "这一行要两端对齐";
var result = text.split("").join(" ");

至于添加after伪类,更加简洁一些。没有应用。

项目实例:中国银河证券APP,以供参考。

@font-face { font-family: "baidu-cos-icon"; font-weight: 400; font-style: normal; src: url(chrome-extension://elgjjjejoajmgnljkhfjilkjnkgfkkba/pc-icon/cos-icon/iconfont.woff) format('woff'), url(chrome-extension://elgjjjejoajmgnljkhfjilkjnkgfkkba/pc-icon/cos-icon/iconfont.woff2)format('woff2'), url('chrome-extension://elgjjjejoajmgnljkhfjilkjnkgfkkba/pc-icon/cos-icon/iconfont.ttf) format('truetype'), url('chrome-extension://elgjjjejoajmgnljkhfjilkjnkgfkkba/pc-icon/cos-icon/iconfont.svg) format('svg') } .cs-cos-icon_eaa8y_1{-webkit-font-smoothing:antialiased;font-family:baidu-cos-icon;font-style:normal}.cos-icon-interpretation_eaa8y_6:before{content:"\E77F"}.cos-icon-summarize_eaa8y_9:before{content:"\E74C"}.cos-icon-rewrite_eaa8y_12:before{content:"\E752"}.cos-icon-translate_eaa8y_15:before{content:"\E741"}.cos-icon-close_eaa8y_18:before{content:"\E6DA"}.cos-icon-close-circle-fill_eaa8y_21:before{content:"\E6C2"}.cos-icon-link_eaa8y_24:before{content:"\E722"}.cos-icon-phone_eaa8y_27:before{content:"\E70D"}.cos-icon-search_eaa8y_30:before{content:"\E714"}.cos-icon-download_eaa8y_33:before{content:"\E7A4"}.close-dialog-container_b2jg5_1{align-items:center;background:rgba(30,31,36,.3);bottom:0;display:flex;height:100%;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2147483647!important}.close-dialog-container_b2jg5_1 .dialog-content_b2jg5_14{background:var(--cos-color-bg,#fff);border-radius:20px;cursor:default;height:213px;padding:var(--cos-space-xxl,24px);padding-bottom:var(--cos-space-none,0);position:relative;width:300px}.close-dialog-container_b2jg5_1 .dialog-content_b2jg5_14 .title_b2jg5_24{color:#1e1f24;font-family:PingFangSC-Medium;font-size:var(--cos-text-body-lg-higher,16px);letter-spacing:0;line-height:16px;margin-bottom:2px;text-align:justify}.close-dialog-container_b2jg5_1 .dialog-content_b2jg5_14 .close-btn_b2jg5_33{color:#b7b9c1;font-size:22px;position:absolute;right:16px;top:var(--cos-space-sm,12px)}.close-dialog-container_b2jg5_1 .dia
04-03
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值