2016-11-24 39 views
0

我复制了w3school网站本身的css,但我没有得到相同的结果。我想要浮动li元素在屏幕右端溢出时消失,但它们始终显示在容器下方。li浮动不隐藏

https://jsfiddle.net/qeub71Lp/

.w3-left { 
 
float: left!important; 
 
} 
 
.w3-navbar { 
 
list-style-type: none; 
 
margin: 0; 
 
padding: 0; 
 
overflow: hidden; 
 
} 
 
.w3-navbar li { 
 
float: left; 
 
overflow: hidden; 
 
}
<div class="w3-card-2 w3-slim topnav" id="topnav" style="position: relative;"> 
 
    <div style="overflow:auto;"> 
 
     <ul class="w3-navbar w3-left" 
 
    style="width:55%;overflow:hidden;height:44px"> 
 
      <li><a href="" class="w3-hide-small">HTML</a></li> 
 
      <li><a href="" class="w3-hide-small">CSS</a></li> 
 
      <li><a href="" class="w3-hide-small">JAVASCRIPT</a></li> 
 
      <li><a href="" class="w3-hide-small">SQL</a></li> 
 
      <li><a href="" class="w3-hide-small">PHP</a></li> 
 
      <li><a href="" class="w3-hide-small">BOOTSTRAP</a></li> 
 
      <li><a href="" class="w3-hide-small">JQUERY</a></li> 
 
      <li><a href="" class="w3-hide-small">ANGULAR</a></li> 
 
      <li><a href="" class="w3-hide-small">XML</a></li> 
 
      <li><a href="" class="w3-hide-small">W3.CSS</a></li> 
 
     </ul> 
 
    </div> 
 
</div>

+0

你能把链接从哪里得到吗? –

回答

1

你必须减少ul

<ul class="w3-navbar w3-left" style="width:55%;overflow:hidden;height:20px"> 

这里高度更新JSfiddle

1

我ñ不要相信你应该使用floats

标准float行为是,当没有更多的水平空间离开时,下一个元素将显示在下一行。

因此inline-block可能是比float更好的选择。

工作实例:

.topnav { 
 
position: relative; 
 
left: 50vw; 
 
width: 50vw; 
 
background-color: rgb(191,191,191); 
 
overflow: hidden; 
 
} 
 

 
.w3-navbar { 
 
height:1.4em; 
 
line-height: 1.4em; 
 
margin: 0; 
 
padding: 0; 
 
list-style-type: none; 
 
overflow: hidden; 
 
} 
 

 
.w3-navbar li { 
 
display: inline-block; 
 
margin-right: 12px; 
 
}
<div class="topnav"> 
 

 
<ul class="w3-navbar"> 
 
<li><a>HTML</a></li> 
 
<li><a>CSS</a></li> 
 
<li><a>JAVASCRIPT</a></li> 
 
<li><a>SQL</a></li> 
 
<li><a>PHP</a></li> 
 
<li><a>BOOTSTRAP</a></li> 
 
<li><a>JQUERY</a></li> 
 
<li><a>ANGULAR</a></li> 
 
<li><a>XML</a></li> 
 
<li><a>W3.CSS</a></li> 
 
</ul> 
 

 
</div>

0

请试试这个代码

HTML

<div class="w3-card-2 w3-slim topnav" id="topnav" style="position: relative;"> 
     <div style="overflow:auto;"> 
     <ul class="w3-navbar w3-left" style="width:55%;overflow:hidden;height:20px;"> 
      <li><a href="" class="w3-hide-small">HTML</a></li> 
      <li><a href="" class="w3-hide-small">CSS</a></li> 
      <li><a href="" class="w3-hide-small">JAVASCRIPT</a></li> 
      <li><a href="" class="w3-hide-small">SQL</a></li> 
      <li><a href="" class="w3-hide-small">PHP</a></li> 
      <li><a href="" class="w3-hide-small">BOOTSTRAP</a></li> 
      <li><a href="" class="w3-hide-small">JQUERY</a></li> 
      <li><a href="" class="w3-hide-small">ANGULAR</a></li> 
      <li><a href="" class="w3-hide-small">XML</a></li> 
      <li><a href="" class="w3-hide-small">W3.CSS</a></li> 
     </ul> 
     </div> 
     </div> 

CSS

.w3-left { 
    float: left!important; 
} 

.w3-navbar { 
    list-style-type: none; 
    margin: 0; 
    padding: 0; 
    overflow:hidden; 
    height:44px 
} 

ul li { 
    display: block; 
    padding: 0 5px; 
} 

.w3-navbar li { 
    float: left; 
    overflow: hidden; 
} 

*, *:before, *:after { 
    box-sizing: inherit; 
}