文本溢出:省略号似乎不起作用

时间:2012-07-08 23:12:45

标签: css css3

我在无序列表中有一个导航菜单:

<ul>        
    <li class="current">
        <a href="./">Home</a>
    </li>           
    <li class="">
        <a href="./location/">Location</a>
    </li>           
    <li class="">
        <a href="./rooms-and-rates/">Rooms &amp; Rates </a>
    </li>           
    <li class="">
        <a href="./facilities/">Facilities</a>
    </li>           
    <li class="">
        <a href="./things-to-do/">Things to do</a>
    </li>           
    <li class="">
        <a href="./eating-and-drinking/">Eating and Drinking</a>
    </li>           
</ul>

当菜单标题太长时,我需要使用文本溢出:省略号,所以我在我的CSS中设置我的菜单链接样式:

    header nav ul li a { text-decoration: none; 
       text-overflow: ellipsis; 
       display: block; 
       overflow: hidden; 
       width: 150px; 
       height: 32px;
}

但是,没有发生预期的效果。它只是切断了最后一个字(并将其包裹在不可见的地方)。我的代码有什么问题,或者有一些我不知道文本溢出的警告:省略号?

2 个答案:

答案 0 :(得分:40)

您需要为white-space: nowrap;添加text-overflow: ellipsis;才能正常工作。

演示: http://jsfiddle.net/ThinkingStiff/Dc7UA/

输出:

enter image description here

CSS:

a { 
    text-decoration: none; 
    text-overflow: ellipsis; 
    display: block; 
    overflow: hidden; 
    white-space: nowrap;
    width: 80px; 
    height: 32px;
}

答案 1 :(得分:0)

实际上 overflow:hidden; 是必需的,因此您可能需要以下三行:

text-overflow: ellipsis; 
display: block; 
overflow: hidden;