我正在建立一个带有左侧菜单的网站。每个媒体查询中菜单的宽度为200px。我们的客户可以使用我们的CMS添加页面,有时使用很长的菜单项名称。
当链接太长时,你可以在菜单架中水平滚动,这很难看!
是否有人可以告诉我如何将这些链接缩短为最多16个字符并以#{1}}
结尾当然也欢迎其他解决方案!
提前致谢。
答案 0 :(得分:0)
以下是一个示例:ul
菜单中带有全名标题
window.onload = function(){
var names = document.getElementById('names');
var name = names.getElementsByTagName('li');
for(var i = 0 ; i< name.length ; i++){
name[i].title = name[i].textContent;
if(name[i].textContent.length > 16){
name[i].textContent = name[i].textContent.substring(0,16)+'...';
}
}
}
ul{
padding:0;
width:200px;
}
li{
text-align:center;
display:block;
padding:10px;
font-size:20px;
border-bottom:solid 2px orange;
color:orange;
word-wrap:break-word;
cursor:default;
}
<ul id="names">
<li>Ahmed saeed Ali Mustafa Mohamed</li>
<li>Mamdouh Mustafa</li>
<li>Ali Mohamed Hussien</li>
<li>Mohamed Abu-trika</li>
<li>Yasser Yousef</li>
</ul>
答案 1 :(得分:0)
您可以使用CSS单独使用text-overflow: ellipsis
属性来解决此问题。试试这个:
li {
text-overflow: ellipsis;
overflow: hidden; /* this must be anything other than visible */
}
您可能还需要在元素上设置width
,但这取决于您的HTML结构。