Select 边框颜色
Select border color
我似乎无法摆脱 Opera
浏览器中 select
元素的边框(轮廓,框阴影?)。
None 以下规则正在删除边框:
select {
/*border: 0;*/
border: none;
outline: 0;
background: transparent;
border-image: none;
outline-offset: -2px;
border-color: transparent;
outline-color: transparent;
box-shadow: none;
}
<select class="form-control">
<option selected="selected" value="0">Most Popular</option>
<option value="1">A-Z</option>
<option value="2">Z-A</option>
<option value="3">Lowest price</option>
<option value="4">Highest price</option>
</select>
Opera
版本为 46.0.2597.57 (PGO)。
以上代码在其他经过测试的浏览器中运行完美 - Chrome、Firefox、Internet Explorer 和 Edge。
任何提示都会有所帮助。
编辑 我正在使用 Windows 10 64 位,这里是截图:
您可以使用 -webkit-appearance: none;
删除边框,但这也会删除插入符号,因此您可能需要再次手动添加。我找不到更好的答案,因为歌剧对这个边界真的很顽固。 (更新后的解决方案下方带有插入符号)
select {
border: 0;
outline: 0;
background: transparent;
border-image: none;
outline-offset: -2px;
border-color: transparent;
outline-color: transparent;
box-shadow: none;
-webkit-appearance: none;
}
<select class="form-control" id="1">
<option selected="selected" value="0">Most Popular</option>
<option value="1">A-Z</option>
<option value="2">Z-A</option>
<option value="3">Lowest price</option>
<option value="4">Highest price</option>
</select>
更新的解决方案:这更像是一种变通方法,而不是解决方案,但它有一个有效的 "fake" 插入符号,看起来像一个无边框下拉菜单,即使在歌剧
select {
border: 0;
outline: 0;
background: transparent;
border-image: none;
outline-offset: -2px;
border-color: transparent;
outline-color: transparent;
box-shadow: none;
-webkit-appearance: none;
width: 100% ;
position: absolute;
}
.select-wrapper {
position: relative;
max-width: 100px;
}
.select-wrapper:after {
content: "BE";
float: right;
margin-top: -3px;
}
<div class="select-wrapper" id="label-for-1">
<select class="form-control" id="1">
<option selected="selected" value="0">Most Popular</option>
<option value="1">A-Z</option>
<option value="2">Z-A</option>
<option value="3">Lowest price</option>
<option value="4">Highest price</option>
</select>
</div>
如果您的 select
背后有坚实的背景,您可以使用 border: 1px solid white
之类的东西来重叠 Opera 的边框。
或者您可以通过针对特定浏览器的 CSS 黑客将 webkit 浏览器的自定义样式应用到您的 select
,使用 -webkit-appearance: none
删除标准外观并应用 SVG background-image
标准箭头。这样 IE 和 Firefox 的标准外观将完好无损。
select {
border: 0;
outline: 0;
background-color: transparent;
}
/* Select only webkit browsers */
@media screen and (-webkit-min-device-pixel-ratio:0) {
select {
/* remove arrow */
-webkit-appearance: none;
/* add some padding for image */
padding-right: 15px;
/* apply SVG with arrow */
/* change width value to move arrow to the left */
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" viewBox="0 0 15 15"><path d="M 8,5.5 11,9.5 14,5.5 z"></path></svg>');
background-repeat: no-repeat;
background-position: center right;
}
}
<select class="form-control">
<option selected="selected" value="0">Most Popular</option>
<option value="1">A-Z</option>
<option value="2">Z-A</option>
<option value="3">Lowest price</option>
<option value="4">Highest price</option>
</select>
我似乎无法摆脱 Opera
浏览器中 select
元素的边框(轮廓,框阴影?)。
None 以下规则正在删除边框:
select {
/*border: 0;*/
border: none;
outline: 0;
background: transparent;
border-image: none;
outline-offset: -2px;
border-color: transparent;
outline-color: transparent;
box-shadow: none;
}
<select class="form-control">
<option selected="selected" value="0">Most Popular</option>
<option value="1">A-Z</option>
<option value="2">Z-A</option>
<option value="3">Lowest price</option>
<option value="4">Highest price</option>
</select>
Opera
版本为 46.0.2597.57 (PGO)。
以上代码在其他经过测试的浏览器中运行完美 - Chrome、Firefox、Internet Explorer 和 Edge。
任何提示都会有所帮助。
编辑 我正在使用 Windows 10 64 位,这里是截图:
您可以使用 -webkit-appearance: none;
删除边框,但这也会删除插入符号,因此您可能需要再次手动添加。我找不到更好的答案,因为歌剧对这个边界真的很顽固。 (更新后的解决方案下方带有插入符号)
select {
border: 0;
outline: 0;
background: transparent;
border-image: none;
outline-offset: -2px;
border-color: transparent;
outline-color: transparent;
box-shadow: none;
-webkit-appearance: none;
}
<select class="form-control" id="1">
<option selected="selected" value="0">Most Popular</option>
<option value="1">A-Z</option>
<option value="2">Z-A</option>
<option value="3">Lowest price</option>
<option value="4">Highest price</option>
</select>
更新的解决方案:这更像是一种变通方法,而不是解决方案,但它有一个有效的 "fake" 插入符号,看起来像一个无边框下拉菜单,即使在歌剧
select {
border: 0;
outline: 0;
background: transparent;
border-image: none;
outline-offset: -2px;
border-color: transparent;
outline-color: transparent;
box-shadow: none;
-webkit-appearance: none;
width: 100% ;
position: absolute;
}
.select-wrapper {
position: relative;
max-width: 100px;
}
.select-wrapper:after {
content: "BE";
float: right;
margin-top: -3px;
}
<div class="select-wrapper" id="label-for-1">
<select class="form-control" id="1">
<option selected="selected" value="0">Most Popular</option>
<option value="1">A-Z</option>
<option value="2">Z-A</option>
<option value="3">Lowest price</option>
<option value="4">Highest price</option>
</select>
</div>
如果您的 select
背后有坚实的背景,您可以使用 border: 1px solid white
之类的东西来重叠 Opera 的边框。
或者您可以通过针对特定浏览器的 CSS 黑客将 webkit 浏览器的自定义样式应用到您的 select
,使用 -webkit-appearance: none
删除标准外观并应用 SVG background-image
标准箭头。这样 IE 和 Firefox 的标准外观将完好无损。
select {
border: 0;
outline: 0;
background-color: transparent;
}
/* Select only webkit browsers */
@media screen and (-webkit-min-device-pixel-ratio:0) {
select {
/* remove arrow */
-webkit-appearance: none;
/* add some padding for image */
padding-right: 15px;
/* apply SVG with arrow */
/* change width value to move arrow to the left */
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="15" viewBox="0 0 15 15"><path d="M 8,5.5 11,9.5 14,5.5 z"></path></svg>');
background-repeat: no-repeat;
background-position: center right;
}
}
<select class="form-control">
<option selected="selected" value="0">Most Popular</option>
<option value="1">A-Z</option>
<option value="2">Z-A</option>
<option value="3">Lowest price</option>
<option value="4">Highest price</option>
</select>