为什么文本在 li 标签中开始一个新行
Why text starts a new line in li tag
我有我用"ul"和"li"标签创建的下拉菜单。但是我在 li 标签中的文本在其中的每个空格处都开始一个新行。这是代码的链接。
var a=document.getElementById("hide");
var outside="false";
function showjs(){
if(visibil()==="false"){
a.style.display="inline-block";
}
}
function hidejs(){
if(visibil()==="true" & outside==="true"){
a.style.display="none";
}
}
function visibil(){
if (a.style.display==="none"){
return "false";
}else{
return "true";
}
}
ul{
list-style:none;
}
li{
position:relative
}
.cl-menu,ul{
margin:0;padding:0
}
.cl-menu li a{
display:block;
padding:10px
}
#menu{
background-color:gray;
width:20%;
}
/*li:active>ul{
display:block;
}*/
li>ul{
background-color:black
}
<body onclick="hidejs()">
<div id='menu'>
<ul class="cl-menu">
<li>
<a href="#">Mis pedidos</a>
</li>
<li>
<a href="#">Mi perfil</a>
</li>
<li>
<a href="#">Descuentos</a>
</li>
<li id='albumes' onclick="showjs()" style="background-color:gray" onmouseleave="outside='true';" onmouseenter="outside='false';">
<a href="#">Albumes</a>
<ul id="hide" style="display:none;position:absolute; top:0;left:100%;">
<li style="color:white">
<a href="#">Here are generated new lines at every space</a>
</li>
<li>
<a href="#">Navidad 2014</a>
</li>
</ul>
</li>
<li>
<a href="#">Añadir al carrito</a>
</li>
<li>
<a href="#">Articulos seleccionados</a>
</li>
<li>
<a href="#">Finalizar Pedido</a>
</li>
</ul>
</div>
</body>
所以,我不想要那些新行,如果可以在不设置宽度的情况下解决。谢谢。
尝试设置文本white-space:nowrap
并将display:inline-block
添加到菜单中
var a=document.getElementById("hide");
var outside="false";
function showjs(){
if(visibil()==="false"){
a.style.display="inline-block";
}
}
function hidejs(){
if(visibil()==="true" & outside==="true"){
a.style.display="none";
}
}
function visibil(){
if (a.style.display==="none"){
return "false";
}else{
return "true";
}
}
ul{
list-style:none;
}
li{
position:relative
}
.cl-menu,ul{
margin:0;padding:0
}
.cl-menu li a{
display:block;
padding:10px
}
#menu{
background-color:gray;
display: inline-block;
}
/*li:active>ul{
display:block;
}*/
li>ul{
background-color:black
}
li a{
white-space:nowrap;
}
<body onclick="hidejs()">
<div id='menu'>
<ul class="cl-menu">
<li>
<a href="#">Mis pedidos</a>
</li>
<li>
<a href="#">Mi perfil</a>
</li>
<li>
<a href="#">Descuentos</a>
</li>
<li id='albumes' onclick="showjs()" style="background-color:gray" onmouseleave="outside='true';" onmouseenter="outside='false';">
<a href="#">Albumes</a>
<ul id="hide" style="display:none;position:absolute; top:0;left:100%;">
<li style="color:white">
<a href="#">Here are generated new lines at every space</a>
</li>
<li>
<a href="#">Navidad 2014</a>
</li>
</ul>
</li>
<li>
<a href="#">Añadir al carrito</a>
</li>
<li>
<a href="#">Articulos seleccionados</a>
</li>
<li>
<a href="#">Finalizar Pedido</a>
</li>
</ul>
</div>
</body>
添加此规则:
#hide a {
white-space:nowrap;
}
js小提琴示例
相关文章:
- 为什么文本在 li 标签中开始一个新行
- MySQL检索数据,为每个数据附加一个新行
- 如何在 ng-repeat 中的某个特定索引上开始一个新行
- 将最后一个表行的选定值复制到新值
- 在SlickGrid的dataView的第一行添加一个新项目,就像JavaScript的unshift一样
- 如何处理一个新的换行字符串并将其放入变量中
- 使用敲除foreach每隔2条记录创建一个新行
- 如何在30次迭代后创建一个新的表行
- Regex-任何一个或多个字符后面跟一个新行和等号
- JavaScript在HTML中创建新行,onclick将值粘贴在另一个的下面
- Angularjs ng-repeat为每个第4项开始一个新行
- 如何获取一行并将该行和文本字符串合并为一个新行
- 对于变量中的每一个新行,添加一个连字符
- 在JQuery .html()调用中包含一个Twig模板并删除新行
- 在每个括号后添加一个新的换行符
- 从表中选择随机行,然后删除该行并使用该行创建一个新表
- 我如何插入或删除标签之前/之后的每一个新的行与Javascript字符串
- 如何在javascript的循环中每行添加一个新字符
- 为什么这行代码没有打开一个新选项卡?
- 使用 string.prototype 在每个第 8 个逗号之后创建一个新行