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

Fra*_*ser 29 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>
Run Code Online (Sandbox Code Playgroud)

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

    header nav ul li a { text-decoration: none; 
       text-overflow: ellipsis; 
       display: block; 
       overflow: hidden; 
       width: 150px; 
       height: 32px;
}
Run Code Online (Sandbox Code Playgroud)

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

Thi*_*iff 44

您需要添加white-space: nowrap;text-overflow: ellipsis;工作.

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

输出:

在此输入图像描述

CSS:

a { 
    text-decoration: none; 
    text-overflow: ellipsis; 
    display: block; 
    overflow: hidden; 
    white-space: nowrap;
    width: 80px; 
    height: 32px;
}
Run Code Online (Sandbox Code Playgroud)

  • 对我来说,溢出:隐藏;`就足够了,不需要'白空间' (6认同)
  • 对我来说,省略号不适用于“display: flex” (3认同)
  • @Zaffy如果没有`overflow:hidden;`实际上是行不通的。 (2认同)

Eti*_*uis 5

实际上溢出:隐藏;是必需的,所以你可能需要这三行:

text-overflow: ellipsis; 
display: block; 
overflow: hidden; 
Run Code Online (Sandbox Code Playgroud)