当前位置:首页 > 前端 > 正文内容

真正可用的CSS文字两端对齐

3个月前 (08-07)前端

最近在工作项目中接触到Web界面设计的问题,要实现文字两端对齐的效果。在网上搜索了一下,差不多都是互相转帖,用的都是类似的技巧:

text-align:justify;
text-justify:inter-ideograph;

但问题是,我怎么就看不到效果呢?无论是英文还是中文,在IE和chrome下都不起作用。后来,终于在StackOverflow上找到解决方法了。

样式:

div.justify { text-align: justify; width:200px; font-size:15px; color:red; border:1px solid blue; height:18px;}
div.justify > span { display: inline-block /* Opera */; padding-left: 100%; }

HTML:

<div class="justify">hello, text justify.</div><br/>
<div class="justify"> hello, text justify.<span></span></div><br/>
<div class="justify">中 文 两 端 对 齐</div><br/>
<div class="justify">中 文 两 端 对 齐<span></span></div>

效果图:

从效果图可以看到,除了要在块级元素加text-align:justify样式外,还需要在里面加一个空的span元素,并应用样式。另外,对于中文还必须用空格隔开汉字,否则也没有两端对齐的效果。英文每个单词都有空格隔开,所以没问题。


兼容safiri 文字两端对齐

text-align: justify在当文案只有一行的时候是不会生效的。

解决方案是用text-align-last: justify来修复text-align: justify对最后一行不起作用的问题。

Android还是有一定的支持度的,但是ios就惨了,完全不支持,所以只能改。
分析text-align: justify不生效的原因就是文字在最后一行,所以可以再想要两端对齐的文字前后分别加一个标签,然后把文字挤在不是最后一行的位置上。

.content {
    width: 100px;/*要有固定宽度,不然没法两端对齐*/
    text-align: justify;/*设置两端对齐属性*/
}
.content:before, .content:after {
    display: inline-block;/*行内元素*/
    content: '';
    width: 100%;/*可以挤掉文字,保证不跟文字在同一行*/
    height: 0;
    visibility: hidden;
}



手机扫描二维码访问

扫描二维码推送至手机访问。

版权声明:本文由Magic发布,如需转载请注明出处。

本文链接:http://maguochang.com/?id=11

分享给朋友:

“真正可用的CSS文字两端对齐” 的相关文章

Js/Jquery获取网页屏幕可见区域高度

Js/Jquery获取网页屏幕可见区域高度

获取浏览器窗口的可视区域高度和宽度,滚动条高度有需要的朋友可参考一下。document.body.clientWidth ==> BODY对象宽度document.body.clientHeight ==> BODY对象高度document.documentElement.clientW...

getBoundingClientRect

getBoundingClientRect

getBoundingClientRect() 方法返回元素的大小及其相对于视口的位置。APIlet DOMRect = object.getBoundingClientRect()它的返回值是一个 DOMRect 对象,这个对象是由该元素的 getClientRects() 方法返回的一组矩形的集...

js中小数四舍五入和浮点数的研究

js中小数四舍五入和浮点数的研究

toFixed可以实现小数四舍五入,但有时候却不正确,1.335.toFixed(2)=1.33,使用提升倍数然后除以倍数有时候也有问题,35.41 * 100 = 3540.9999999999995,本文讲怎么解决这些。 JS中浮点数精度问题 最近在做项目的时候,涉及到商品价格的计算,经常会出现...

Lodop打印控件打印机可打区域的影响 设置纸张边缘为基点

Lodop打印控件打印机可打区域的影响 设置纸张边缘为基点

由于打印机千差万别,打印开发也要注意针对客户各种打印机进行处理,Lodop提供了打印维护(PRINT_SETUP)可针对每个客户端进行微调,保存结果保存在客户端本地,对其他访问网站的客户没有影响。由于打印机的限制,有些打印机不能打印某些规格的纸张,或打印区域有限制,不是所有打印机都支持自定义纸张,也...

js判断对象还是数组

1.对于Javascript 1.8.5(ECMAScript 5),变量名字.isArray( )可以实现这个目的var a=[]; var b={}; Array.isArray(a);//true Array.isArray(b)//false2.调用toString...