我在无序列表中有一个导航菜单:
<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 & 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;
}
但是,没有发生预期的效果。它只是切断了最后一个字(并将其包裹在不可见的地方)。我的代码有什么问题,或者有一些我不知道文本溢出的警告:省略号?
答案 0 :(得分:40)
您需要为white-space: nowrap;
添加text-overflow: ellipsis;
才能正常工作。
演示: http://jsfiddle.net/ThinkingStiff/Dc7UA/
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;