CSS/Js文本溢出自动添加省略号ellipsis

CSS文本溢出省略号

text-overflow:ellipsis

ext-overflow是一个比较特殊的属性,W3C早前的文档中(目前的文档中没有包含text-overflow属性,FML!)对其的定义是:

Name: text-overflow-mode

Value: clip | ellipsis | ellipsis-word

clip :  不显示省略标记(…),而是简单的裁切

ellipsis :  当对象内文本溢出时显示省略标记(…),省略标记插入的位置是最后一个字符。

ellipsis-word :  当对象内文本溢出时显示省略标记(…),省略标记插入的位置是最后一个词(word)。

例子

代码如下
.ellipsis li{

-moz-binding: url('ellipsis.xml#ellipsis');/*相对当前html的路径*/

overflow:hidden;

text-overflow:ellipsis;

white-space:nowrap;

width:200px;

}

你可能也注意到了,兼容火狐浏览器的关键代码 -moz-binding: url(‘ellipsis.xml#ellipsis’); 就是加载了一个XML文件。

ellipsis.xml代码:

代码如下

<?xml version="1.0" encoding="utf-8"?>

<bindings

xmlns=“http://www.mozilla.org/xbl

xmlns:xbl=“http://www.mozilla.org/xbl

xmlns:xul=“http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul

<binding id="ellipsis">

    <content>

        <xul:description crop="end" xbl:inherits="value=xbl:text">

            <children/>

        </xul:description>

    </content>

</binding>

要问我为什么,这些是浏览器的bug,我想不必深究

下载这个Jquery插件:jQuery ellipsis plugin

调用方法:

代码如下
$(document).ready(function() {
$(’.ellipsis’).ellipsis();
}

php直接进行字符截取

代码如下
public static function chinesesubstr($str, $start, $len) { // s t r 指 字 符 串 , str指字符串, str,start指字符串的起始位置,$len指字符串长度
$strlen = $start + l e n ; / / 用 len; // 用 len;//strlen存储字符串的总长度,即从字符串的起始位置到字符串的总长度
for($i = $start; $i < $strlen;) {
if (ord ( substr ( $str, $i, 1 ) ) > 0xa0) { // 如果字符串中首个字节的ASCII序数值大于0xa0,则表示汉字
$tmpstr .= substr ( $str, i , 2 ) ; / / 每 次 取 出 两 位 字 符 赋 给 变 量 i, 2 ); // 每次取出两位字符赋给变量 i,2);//tmpstr,即等于一个汉字
i = i= i=i+2; // 变量自加2
} else{
$tmpstr .= substr ( $str, i , 1 ) ; / / 如 果 不 是 汉 字 , 则 每 次 取 出 一 位 字 符 赋 给 变 量 i, 1 ); // 如果不是汉字,则每次取出一位字符赋给变量 i,1);//tmpstr
$i++;
}
}
return $tmpstr; // 返回字符串
}

使用方法

chinesesubstr($str, 0, 10);

https://www.jianshu.com/p/4c5d46b91661

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值