使用WordPress建网站的过程中,当首页中或者侧边栏有新闻中心板块,而个别新闻的标题太长的时候,这些标题会分两行显示,严重影响外观美化。我们想控制文字只显示一行,超出部分显示省略号。下面我们就来介绍一下实现的方法,实现的原理是把文本限制在一行(white-space: nowrap;),将溢出的部分要隐藏起来(overflow: hidden;),然后出现省略号( text-overflow: ellipsis)。

打开主题所在目录,找到标题所对应的选择器名称(例如.news-title),添加如下样式:

下面我们来解释一下上面代码的含义:
overflow:hidden;

overflow属性规定当内容溢出元素框时发生的事情。overflow属性可能的值有以下5中,这里取”hidden”值,表示当内容溢出元素框时执行隐藏操作。

visible默认值。内容不会被修剪,会呈现在元素框之外。
hidden内容会被修剪,并且其余内容是不可见的。
scroll内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit规定应该从父元素继承 overflow 属性的值。

white-space:nowrap;

white-space 属性声明建立布局过程中如何处理元素中空白符。(这里的空白符指我们用键盘敲入的空格或回车)whit-space 属性可能的取值有以下6种,这里取值“nowrap”,即文本不换行,在一行内显示。

normal默认。空白会被浏览器忽略。
pre空白会被浏览器保留。其行为方式类似 HTML 中的 <pre> 标签。
nowrap文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。
pre-wrap保留空白符序列,但是正常地进行换行。
pre-line合并空白符序列,但是保留换行符。
inherit规定应该从父元素继承 white-space 属性的值。

text-overflow:ellipsis;

text-overflow 属性规定当文本溢出包含元素时,是否显示省略标记。text-overflow属性可能的取值如下3种类,这里需要对文本溢出元素使用省略标记,选择“ellipsis”。

clip修剪文本。
ellipsis显示省略符号来代表被修剪的文本。
string使用给定的字符串来代表被修剪的文本。