CSS法控制文章标题长度
这个也不难,在文章标题的CSS里加上如下代码就可以了:
display: block;
width: 150px;
overflow: hidden;
white-space: nowrap;
-o-text-overflow: ellipsis;
text-overflow: ellipsis;
其中,width属性是用来 定义宽度的,文章标题超出这个宽度的部分会用…替换。
优点:美观。
缺点:文章标题显示不 全;搜索引擎看到的是不完整标题,不利于SEO,firefox不支持ellipsis
PHP法控制文章标题长度
想要自定义文章标题在首页或者其它页显示的字数长度,首先要在functions.php里面加如下代码:
PHP
function the_title_limit($before = '', $after = '', $echo = true, $length = true) {
$title = get_the_title();
if ( $length && is_numeric($length) ) {
$title = substr( $title, 0, $length );
}
if ( strlen($title)> 0 ) {
$title = apply_filters('the_title_limit', $before . $title . $after, $before, $after);
if ( $echo )
echo $title;
else
return $title;
}
}
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
functionthe_title_limit($before='',$after='',$echo=true,$length=true){
$title=get_the_title();
if($length&&is_numeric($length)){
$title=substr($title,0,$length);
}
if(strlen($title)>0){
$title=apply_filters('the_title_limit',$before.$title.$after,$before,$after);
if($echo)
echo$title;
else
return$title;
}
}
?>
然后在首页或者其它要调用的地方加入
数字“18”为标题字符数,可以随意改。
这个方法有个缺点,就是不支持中文字符,截取时出现乱码。
假如strlen 和 substr 换成 mb_strlen 和 mb_substr 试试, 需要服务器PHP开启mbstring扩展。
XML法控制文章标题长度
大家 应该都知道,如果一个盒子中的文字超过了例子的宽度,我们可以用overflow:hidden将其隐藏起来
不过这样影响美观,这时我们就可以用text-overflow:ellipsis将超出的部分用”…”给替换掉.
当然.其中少不了white-space:nowrap这一句,它是让文本不换行.
嗯,说的是很不错,可惜的是,我们口中的“标准浏览器——firefox”不支持这个属性.
就好像IE6不支持png透明一样.但高手们就解决了这个问题;
首先要写好上面的三个属性
把下面的文字复制到记事 本,保存为xml格式
然后,在css文件中加入 这一句
.ellipsis{text-overflow:ellipsis;-moz-binding:url(../ellipsis.xml#ellipsis);
然后把想要用省略号隐藏 的标签加个class
这些标签可能会比较多,所以推荐用js添加
用jquery如下
$(function(){
$(‘#header,h1,li’).addClass(‘ellipsis’);
})
这样就能解决了,但这样的话,应该了这个样式的文本是不能选中的,这也是这个方法不够完善的地方
程序本天成,妙手偶得之!我们只是代码的搬运工!