css处理元字符,CSS中“字符串”的处理妙招

原标题:CSS中“字符串”的处理妙招

大家都知道,网页是由丰富的内容组成的,那内容是由什么组成的呢?你们的答案或许不一,但无外乎,总结起来我们可以说是由一系列字符串组成的,因此每个参与网页设计的人都不得不好好学点处理字符串的小技巧。

bd75ebf3e776623c7c3dfd3f894cb28a.png

平时在手机端浏览网页,你或许看到过各种失败的字符串处理案例,因而导致页面布局视觉感很糟糕,就像上面图片的情况一样,本文给大家提供几个还不错的处理方法。

连字符

处理长字符串的第一个解决方案是使用适当的连字符,如下图:

ec140fbf2c004a2efceedbcf370d19cb.png

0e10ac6d25b1ed1bc3d82cf1cab5d44c.png

浏览器:所有主要的浏览器都支持,除了Chrome,Opera,Android ,我还测试过Windows平台的Safari 5.1,在测试词中增加了连字符,但显示位置错误,因此毫无意义。此外,连字符语言灵敏,必须在父级元素中定义lang属性,但只支持英文浏览器。

你也可以使用一个JS库,Hyphenqtor.js一文,阐述了各种浏览器中的多种语言,唯一的不足就是你必须加载很多额外的JS,较长的文本可能会损害性能。

分割词

单词分割也是不错的解决办法,用CSS属性直接判定是否需要对词进行分割。

5eed1eae09f64a27d77cb41965247d35.png

d5151b3a964dcc45e00aa43d19c7324f.png

浏览器:CSS词分割支持任一浏览器,除了Opera Mini和基于Presto排版引擎的旧版Opera浏览器。

自动换行

使用自动换行法,需判定浏览器能否自动在词与词之间断句。

ffd944ab6f6f4ac63f1506a32f94f562.png

27d8188639c595a6ce14e2a94d08a2e6.png

浏览器:CSS自动换行支持在每一个浏览器。注意:有些浏览器需要旧系统才能运行。

省略

处理较长字符串还可以妙用省略号。

ebc053ec205e28f403d225a8cc09d8ca.png

b3ad5278dd37ee0e65987c30060c60ad.png

浏览器:文字溢出支持主要浏览器,将每行文本截断后,即使使用短词,也会打破网格线。此外,文字可以以某种方式缩短,但会改变其真正含义。不建议常使用文本溢出,如果真有需要,可在服务器端完整文本之后进行缩减。

结论:

测试过以下26种浏览器:IE7,IE8,IE9,IE10和IE11,Edge,Firefox 39(Windows、Linux、Mac)、Chrome 44(Windows、Linux、Mac),Opera 30(Windows,Mac),Safari 8(MAC),Safari 5.1(Windows),Android 5(Nexus 6),Android 4.4(Nexus 5),Android 2.3(Galaxy S2),iOS 8.3(iPhone 6),iOS 7(iPhone 5S),iOS 6(iPhone5),Opera Mini(Android 5),Opera(Android 5),Opera Mobile(Android 5)和Windows Phone 8.1(Lumia 930),使用了真正的设备和浏览器堆栈,下面是测试结果:

ceb92f7fed18adfc0f992d58b29ab643.png

虽然大多数情况下,在Firefox浏览器上,连字符在断句之间并不好用(虽然支持),但毕竟词分割在Opera Mini上是直接不支持的。

最终解决方案

9be75deebad67ddbe18f28dcea72236f.png

该解决方案完全支持每个浏览器,无论是连字符还是分割词,虽然已经在26个不同的浏览器测试了此方案,但我依然不能100%确定不会出现任何bug,如果你在使用过程中发现问题了,可要记得反馈给我哦。

撰稿,欢迎交流,了解更多请关注()

微信公众号: zhi_neng_she

资源共享群:53331965返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值