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里面加如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?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; } } ?> |
然后在首页或者其它要调用的地方加入
<?php the_title_limit(”, ‘…’, true, ’18′) ?>
数字“18”为标题字符数,可以随意改。
这个方法有个缺点,就是不支持中文字符,截取时出现乱码。
假如strlen 和 substr 换成 mb_strlen 和 mb_substr 试试, 需要服务器PHP开启mbstring扩展。
XML法控制文章标题长度
大家 应该都知道,如果一个盒子中的文字超过了例子的宽度,我们可以用overflow:hidden将其隐藏起来
不过这样影响美观,这时我们就可以用text-overflow:ellipsis将超出的部分用”…”给替换掉.
当然.其中少不了white-space:nowrap这一句,它是让文本不换行.
嗯,说的是很不错,可惜的是,我们口中的“标准浏览器——firefox”不支持这个属性.
就好像IE6不支持png透明一样.但高手们就解决了这个问题;
首先要写好上面的三个属性
把下面的文字复制到记事 本,保存为xml格式
<?xml version=”1.0″?>
<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>
</bindings>
然后,在css文件中加入 这一句
.ellipsis{text-overflow:ellipsis;-moz-binding:url(../ellipsis.xml#ellipsis);
然后把想要用省略号隐藏 的标签加个class
这些标签可能会比较多,所以推荐用js添加
用jquery如下
$(function(){
$(‘#header,h1,li’).addClass(‘ellipsis’);
})
这样就能解决了,但这样的话,应该了这个样式的文本是不能选中的,这也是这个方法不够完善的地方
程序本天成,妙手偶得之!我们只是代码的搬运工!
转载请注明:http://www.521php.com/archives/87/
2015年12月10日 下午 1:07 www.w88988.com | 引用 | #1
人一生下就会哭,笑是后来才学会的。所以忧伤是一种低级的本能,而快乐是一种更高级的能力。