30

06-2012

 

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 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″?>
  <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/

目前有1 条留言

  1. 2015年12月10日 下午 1:07 www.w88988.com   |  引用  |  #1     

    人一生下就会哭,笑是后来才学会的。所以忧伤是一种低级的本能,而快乐是一种更高级的能力。

发表评论

昵称:

网址:

eg.博客主题调用的是Gravatar头像,你可以通过邮箱注册获得头像.
/ 快捷键:Ctrl+Enter