zoukankan      html  css  js  c++  java
  • 再谈 截字,截字,截字

    『截字』是网页设计当中最头疼的事情了吧。

    当字数超过容量,要么是超出,要么是换行,无论怎样都会破坏布局。要避免出现这种情况,就必须进行截字。截字的操作在前后端都可以做,也都应该做。其原因是无论那种截字,都会漏洞,所以双保险比较好。

    先简单说一下后台程序截字会出现的问题。

    1. 按字符数来截字的方法是错误。因为英文字母会比中文汉字要短,“超长的标题”就比“title”要长。
    2. 按字节数来截字,也有些问题。我们可能会按照一个汉字等于两个英文字母来作为截字的标准。但是事实上,“MM”比“妞”就要长。
    3. 即使是英文字母之间,长度也不同。最长的字母应该是“W”,最短的字母应该是“i”。所以不能通过字母的个数判断长度。

    但是,无论如何,按字节数截字,多少可以大致控制长度,这是一个比较简单可取的方法。

    好,说说前端的部分:

    1. 在所有可变字段的地方,记得加上overflow:hidden。
      但这样做会带来一些负面的影响。首先overflow:hidden可能会让下拉框或浮动层也被截掉,要注意。第二,overflow:hidden会闭合元素(和overflow:auto一样的效果)。
    2. 如果不想字数太多而换行,记得写上white-space: nowrap。
    3. 反过来,如果不想字数太多而冲破宽度,记得写上word-wrap:break-word和word-break:break-all。当然,这个只对IE有效,而且非标准。如果想要在Firefox中也能自由换行,得用脚本,但我觉得太浪费客户端资源。

    其实道理很简单。但是实际做的时候,每处记得考虑截字这个问题,确实不是那么容易。充分考虑健壮性,永远是对优秀程序员的要求,做网页也一样。

    转贴:http://www.mikkolee.com/29

  • 相关阅读:
    vue踩坑-This relative module was not found
    基于promise用于浏览器和node.js的http客户端的axios
    祈澈菇凉的高端知识资源分享星球开通
    编程微刊第八期文章汇总(2018.8)
    2018上半年GitHub上最热门的开源项目
    【福利】小程序开发资源干货汇总
    web开发快速提高工作效率的一些资源
    【福利】微信小程序130个精选Demo合集
    祈澈菇凉的高端知识资源分享星球开通
    基于promise用于浏览器和node.js的http客户端的axios
  • 原文地址:https://www.cnblogs.com/twh/p/1403196.html
Copyright © 2011-2022 走看看