2010-07-04 75 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!

相关问题