单行文本溢出显示省略号(…)
text-overflow:ellipsis-----部分浏览器还需要加宽度width属性
END
多行文本溢出显示省略号
WebKit浏览器或移动端的页面
在WebKit浏览器或移动端(绝大部分是WebKit内核的浏览器)的页面实现比较简单,可以直接使用WebKit的CSS扩展属性(WebKit是私有属性)-webkit-line-clamp ;注意:这是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。
-webkit-line-clamp用来限制在一个块元素显示的文本的行数。 为了实现该效果,它需要组合其他的WebKit属性。常见结合属性:
display: -webkit-box必须结合的属性 ,将对象作为弹性伸缩盒子模型显示 。
-webkit-box-orient 必须结合的属性 ,设置或检索伸缩盒对象的子元素的排列方式 。
text-overflow: ellipsis,可以用来多行文本的情况下,用省略号“…”隐藏超出范围的文本。
这个属性比较合适WebKit浏览器或移动端(绝大部分是WebKit内核的)浏览器
跨浏览器兼容的方案
比较靠谱简单的做法就是设置相对定位的容器高度,用包含省略号(…)的元素模拟实现;
这里注意几点:
height高度真好是line-height的3倍;
结束的省略好用了半透明的png做了减淡的效果,或者设置背景颜色;
IE6-7不显示content内容,所以要兼容IE6-7可以是在内容中加入一个标签,比如用<span class="line-clamp">...</span>去模拟;
要支持IE8,需要将::after替换成:after;
END
JavaScript 方案
用js也可以根据上面的思路去模拟,实现也很简单,推荐几个做类似工作的成熟小工具
1.Clamp.js
下载及文档地址:https://github.com/josephschmitt/Clamp.js使用也非常简单:
步骤阅读
2.jQuery插件-jQuery.dotdotdot
这个使用起来也很方便:
HTML文字超过两行以后 就用省略号显示代替如下:
style = " overflow : hidden text-overflow : ellipsis display : -webkit-box -webkit-line-clamp : 2 -webkit-box-orient : vertical "
HTML文字超过一行以后 就用省略号显示代替如下:
.font_cut{ width: 100% white-space:nowrap overflow:hidden text-overflow: ellipsis }
<div class="font_cut" style="width: 300px">34<span>一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;一行显示不下,就用省略号代替;</span>35</div>
html文字超出两行,则显示省略号
多行超出显示省略号
overflow: hidden
text-overflow: ellipsis
display: -webkit-box
-webkit-line-clamp: 2//2行
-webkit-box-orient: vertical
注意:-webkit-line-clamp是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS 规范草案中。只适用于WebKit内核的浏览器,因此firebox、ie等并不支持该属性。
其他浏览器做法:
比较靠谱简单的做法就是设置相对定位的容器高度,用包含省略号(…)的元素模拟实现:
文字容器样式设置:
position:relative
line-height:1.4em
height:4.2em//height是line-height的整数倍,防止文字显示不全
overflow:hidden
文字容器::after {
background: linear-gradient(to right, rgba(255, 255, 255, 0), #FFFFFF 50%) repeat scroll 0 0 rgba(0, 0, 0, 0)
bottom: 0
content: "..."
padding: 0 5px 1px 30px
position: absolute
right: 0
}
或者使用插件:js插件-Clamp.js 、 jquery插件-jQuery.dotdotdot
单行不换行:width:100%text-overflow:ellipsiswhite-space:nowrapoverflow:hidden
1.打开www文件夹,再打开js文件夹,在此目录下rpg_managers.js文件中,搜索 Object.defineProperty(ConfigManager, 'bgmVolume', 确认上方有 function ConfigManager()2.在↑位置(Object.defxxxx)前面,把整个defineProperty复制一遍。从Object.def...一直到configurable: true})(最后的符号‘}’也是要的),并更改为如下内容:
Object.defineProperty(ConfigManager, 'troopidNum', {
get: function() {
return AudioManager._troopidNum//别问我为什么这里是这么写的,我不知道
},
set: function(value) {
AudioManager._troopidNum = value
},
configurable: true
})
其中,troopidNum 可以更换为其他名字,英文即可。其他的不要动。(提示:可以用ctrl+h进行替换)
3.在rpg_managers.js文件中,搜索 ConfigManager.makeData = function(),在 config.commandRemember = this.commandRemember下一行添加如下内容:
config.troopidNum = this.troopidNum//提示,名字可更换,具体参照2
4.在↑的下方(大概10行内)找到applyData,参照3内位置添加:
this.troopidNum = this.readNum(config, 'troopidNum')
5.在 applydata 后面,添加如下内容:
ConfigManager.readNum = function(config, name) {
var value = config[name]
if (value !== undefined) {
return Number(value).clamp(0, 9)
} else {
return 0
}
6.在rpg_managers.js文件中,搜索AudioManager._bgmVolume,在 AudioManager._bgmVolume = 100上一行添加如下内容:
AudioManager._troopidNum = 0
rpg_managers.js文件修改完毕,第一部分结束。