2013-10-23 47 views
0

HTML如何使格表现得像溢出:隐藏和溢出:可见

<div class="select2-container select2-container-multi" id="s2id_5268118036b78"> 
    <ul class="select2-choices"> 
     <li class="select2-search-choice"> 
      <div>aaaaa aaaaaaa</div> 
      <a href="#" onclick="return false;" class="select2-search-choice-close" tabindex="-1"></a></li> 
     <li class="select2-search-choice"> 
      <div>bbbb bbbbbbbbb</div> 
      <a href="#" onclick="return false;" class="select2-search-choice-close" tabindex="-1"></a></li> 
     <li class="select2-search-choice"> 
      <div>ccc ccc ccccccccc</div> 
      <a href="#" onclick="return false;" class="select2-search-choice-close" tabindex="-1"></a></li> 
     <li class="select2-search-field"><input type="text" autocomplete="off" autocorrect="off" autocapitilize="off" spellcheck="false" class="select2-input" id="s2id_autogen4" style="width: 10px;"> 
     </li> 
    </ul> 
    <div class="select2-drop select2-drop-multi select2-display-none select2-drop-active"> 
     <ul class="select2-results"> 
      <li class="select2-no-results">No matches found</li> 
     </ul> 
    </div> 
</div> 

相关CSS

.select2-container-multi { 
    margin: 10px; 
    width: 250px; 

    .select2-choices { 
    overflow: visible; 
    } 
} 

Code Pen

正如你所看到的,有点灰当设置了overflow: visible时,箱子(“bbb”和“ccc”)浮在容器外部。如果我将其更改为overflow: hidden,那么它们的容器会扩展以适合它们。

容器扩大到适合他们,我也申请一些JavaScript给他们,使他们可拖动,这样他们就可以框外拉。如果设置了overflow: hidden,那么它们会被剪切到框中,并且一旦将它们拖出,您将无法看到它们。这就是我尝试使用overflow: visible的原因。

因此,我需要两者的行为。是否有一些CSS我可以申请使框扩展到适合其子,但也有overflow: visible

请注意,overflow: auto只是创建滚动条,这也不好。

回答

1

你试过给它一个浮动吗?

.select2-container-multi .select2-choices { 
overflow: visible; 
float: left; 
} 
+0

这实际上看起来像它的作品!这是因为“李”是浮动的......不是因为一些奇怪的可见性。没有意识到这是一个明确的问题。谢谢! – mpen

+0

欢迎您:) –