专注前端,专注网页设计制作 - (承接网页制作、设计) QQ:262817214 虚拟主机 域名注册 云主机 香港空间 | CSS3演示 | 站长工具 | 网页特效 | 网页模板 | 网页素材 | PSD素材 | 手机系统
广告加载中...
当前位置: 首页 > 网页设计 > CSS > >文章

css段落文字(中英文混杂)实现两端对齐

时间:2016-01-31 16:50点击: 次 【

 今天分享一个小技巧,是中英文两端对齐,只是应对哪些变态的需求。一般情况下还是不推荐使用的,毕竟使用了几句js。

案例如下:

混合使用汉字和英文的段落默认如下:

enter image description here

 两边是不对齐的(一般情况下,我们对这种情况不做处理,除非需求或者设计非要我们实现两端对齐)。

 

对齐之后如下:

enter image description here

实现思路

 

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

 

解决办法

 

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

 

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

 

代码如下:

 

"某某某某haorooms博客".split("").join(" ");

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

 

代码如下:

 

letter-spacing: -0.15em;

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

 

总结

 

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

 

$("#haorooms").css({"text-align":"justify","letter-spacing":"-0.15em"});

$("#haorooms").html()=$("#haorooms").html().split("").join(" ");

注释

 

-0.15em这个值可以指定,根据你当前的便宜来设置,-0.15em值是经验所得!em是一个单位,具体可以看http://www.haorooms.com/post/css_unit_calc

 

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

 

var box=document.getElementById("haorooms");

box.style.textAlign = "justify";

box.style.letterSpacing = '-.15em';

box.innerHTML = box.innerHTML.split("").join(" ");

推荐文章
热门文章榜