Hà *_*inh 5 css select overlay scrollbar
我有一个多选,里面有一些选项。
select {
overflow-y:scroll;
height: 200px;
border: 1px solid #c4c7cc;
border-radius: 20px;
margin: 0;
padding: 10px;
color: #323232;
width: 100%;
transition: border-color 0.25s ease;
font-size: 12px;
}
select:not([disabled]):hover,
select:not([disabled]):focus {
border-color: #ff7900;
}
select[disabled] {
opacity: 0.5;
}
Run Code Online (Sandbox Code Playgroud)
<div>
<select multiple class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
我的偏好是使用默认滚动条并始终显示垂直滚动条。但是我的选择有边框半径,所以在运行时,垂直滚动条隐藏了选择的右上角和右下角。
这在 IE11 中运行良好,因为 IE11 中有足够的空间用于滚动条而不是隐藏角落。但在 Chrome 中,它会叠加。
我试过 ::-webkit-scrollbar 但它总是要求我使用我不想要的自定义滚动条。
所以问题是如何在滚动条和边框之间的选择中留出空间?
我将边框设置为父 div 而不是select
并得到下面的结果。
div {
height: 200px;
border: 1px solid #c4c7cc;
border-radius: 20px;
padding: 10px;
width: 100%;
transition: border-color 0.25s ease;
}
select {
height: 200px;
border:none;
color: #323232;
width: 100%;
font-size: 12px;
}
div:hover{
border-color: #ff7900;
}
Run Code Online (Sandbox Code Playgroud)
<div>
<select multiple class="form-control">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)