2010-07-04 130 views
8

這個問題似乎很簡單(overflow:hidden,對吧?),直到我無法解決它。我有一個簡單的多行選擇與定義的大小:在Firefox和Chrome中隱藏多行SELECT的垂直滾動條?

<select size="10" name="elements"> 
... 
</select> 

MSIE和Opera表示僅在需要時垂直滾動條,但在禁用狀態Firefox和Chrome 總是顯示垂直滾動條。

我嘗試設置溢出,溢出y,甚至溢出x,但沒有任何工作。有任何想法嗎?

回答

-1

我能想到的唯一的事情是正確的頂部的SELECT滾動的圖像或固體DIV具有較高的z-index定位重疊的滾動條。但這將是一個醜陋的黑客。

1

試試這個:

<html> 
<head> 
<style> 
div.border { 
    margin-right: 0px; 
    border-style:solid; 
     overflow:hidden; 
} 
select.hiddenscroll { 
    margin-right: -20px; 
    margin-top: -3px; 
    margin-bottom: -3px; 
    padding-right: -20px; 
     overflow:hidden; 
} 
</style> 
</head> 
<body> 
    <table> 
    <tr><td> 
    <div class="border" style="overflow:hidden;"> 
     <select size="5" multiple="multiple" class="hiddenscroll" scrolling="no" seamless="seamless"> 
      <option>Option 1</option> 
      <option>Option 2</option> 
      <option>Option 3</option> 
      <option>Option 4</option> 
      <option>Option 5</option> 
     </select> 
    </div> 
    <table> 
    </tr></td> 
</body> 
</html> 
+0

解決OP問題的簡要說明會更好。請閱讀:http://stackoverflow.com/questions/how-to-answer – askmish 2012-10-19 22:45:11

7
<div style="overflow: hidden;"> 
<select style="width: 110% ; border: 0px;"> 
..... 
5

現在這是一個比較舊的線程,但我想,還有其他人也會遇到同樣的問題,就像我一樣。對於Webkit瀏覽器,有一個非常簡單的解決方案,他們(Chrome和Safari)允許對滾動條進行樣式設計。

以下是您可以用webkit scrollbars做許多事情的體面參考。你需要這裏的CSS是

select::-webkit-scrollbar{width:1px;background-color:transparent} 

訣竅基本上是做兩件事情

  1. 使滾動條只有一個像素寬,因此不會在路上
  2. 設置它的背景色,以獲得transprent

如果您希望此功能僅適用於部分選定滾動條,您應該通過更改虛擬類的滾動條來更改CSS

.subsel::-webkit-scrollbar{width:1px;background-color:transparent} 

然後使用該類來選擇要修改的選項。例如

<select class='subsel' id='selOne' size='4'> 
<option value='1'>Option One</option> 
<option value='2'>Option Two</option> 
</select> 

這裏是一個小提琴,顯示在行動

rememebr it will only work with Webkit browsers!