css如何实现中英文混杂段落文字两端对齐

css如何实现中英文混杂段落文字两端对齐

今天分享一个小tips,如何实现中英文段落文字两端对齐,我所分享的这个方法只是应对那些变态的需求。一般情况下还是不推荐使用的,毕竟使用了几句js。

实现思路

一般的两端对齐是使用text-align:justify,但是text-align:justify一般情况下只针对英文管用。(因为css是老外设计的,老外在justify判断的时候,是根据单词直接的空格来的,中文两个汉字之间没有空格,所以大部分情况下text-align:justify不管用,所以这个属性大部分形同虚设!)。

解决办法

步骤一 :就是在汉字之间添加空格,然后再去除空格来实现。

添加空格我们用js来实现,先split然后再join就可以了!

代码如下:

"某某某某码云笔记博客".split("").join(" ");

步骤二:添加空格之后,字间隙变大,会很难看,然后我们在用css的letter-spacing属性,进行相应的缩进。

代码如下:

letter-spacing: -0.15em;

这样就达到了两端对齐的效果。

总结

按照上面的思路,总结起来,用jquery实现代码如下:

$("#mybj").css({"text-align":"justify","letter-spacing":"-0.15em"});
$("#mybj").html()=$("#mybj").html().split("").join(" ");

注释

-0.15em这个值可以指定,根据你当前的便宜来设置,-0.15em值是经验所得!em是一个单位,具体可以看我之前写的:

常用的CSS 字体单位:px、em、rem 和 % 看这篇就够了

视口百分比长度vh、vw、vi、vb、vmin、vmax单位的了解

当然,也可以用纯js来实现这个效果!代码如下:

var box=document.getElementById("mybj");
box.style.textAlign = "justify";
box.style.letterSpacing = '-.15em';
box.innerHTML = box.innerHTML.split("").join(" ");

文本两端对齐

.text{
    text-align: justify;
    text-align-last: justify;
}

flex布局实现

display:flex;justify-content: space-between;

结语

以上就是中英文混杂段落文字两端对齐方法总结,希望大家根据自己实际需求使用,还是那句话,只是应对那些变态的需求,如果大家有更好的方法欢迎投稿或是下方评论留下你的宝贵方法,不胜感激。

原文链接:《小tip:中文英文左右padding一致两端对齐实现

1. 本站关注web前端开发,分享前端经验和技巧!
2. 喜欢本站的朋友可以收藏(Ctrl + D)本站!
3. 加入QQ群:565733884,我们大家一起来交流技术!
码云笔记 » css如何实现中英文混杂段落文字两端对齐

发表评论

提供最优质的资源集合

立即查看 了解详情