Скрытие вертикальной полосы прокрутки многострочного выбора в Firefox и Chrome?
эта проблема казалась достаточно простой (overflow:hidden
, да?) пока я не смог ее решить. У меня есть простой многострочный выбор с определенным размером:
<select size="10" name="elements">
...
</select>
MSIE и Opera показывают вертикальную полосу прокрутки только при необходимости, но Firefox и Chrome всегда отображение вертикальной полосы прокрутки в отключенном состоянии.
Я попытался установить overflow, overflow-y и даже overflow-x, но ничего не работает. Есть идеи?
7 ответов
вы не можете, по-видимому:http://www.webdeveloper.com/forum/showthread.php?t=154496
вот достойная ссылка на многие вещи, которые вы можете сделать с полосы прокрутки webkit. В CSS вы нужны здесь
select::-webkit-scrollbar{width:1px;background-color:transparent}
трюк по существу делает две вещи!--4-->
- сделайте полосу прокрутки шириной всего в один пиксель, чтобы она не мешала
- установите цвет фона в 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>
вот скрипка, которая показывает " удалено" полоса прокрутки в действии
вы можете используя некоторый JavaScript
Не самое лучшее решение, но должно работать :)
попробуйте это:
<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>
решение от @mon ломается в некоторых случаях (например, внутри ячейки таблицы), хотя это отличное решение. Однако этот похож, но лучше:
скрыть вертикальную полосу прокрутки в <select>
элемент, решение с полями
единственное, что я могу придумать, это перекрыть полосу прокрутки, разместив изображение или solid DIV
с более высоким Z-индексом справа сверху SELECT
полоса прокрутки. Но это будет грязный хак.