选择框箭头样式

时间:2012-06-25 08:35:14

标签: html css

我想让第二个选择框箭头与第一个相同。但我不知道它们为什么会有所不同,因为我没有设计箭头。

enter image description here

6 个答案:

答案 0 :(得分:37)

在大多数情况下,浏览器和操作系统会确定选择框的样式,而且几乎不可能仅使用CSS来更改它们。你必须研究替代方法。主要技巧是应用appearance: none,它可以覆盖一些样式。

我最喜欢的方法就是这个:

http://cssdeck.com/item/265/styling-select-box-with-css3

它不会取代操作系统选择菜单UI元素,因此所有与此相关的问题都是不存在的(无法突破浏览器窗口,而长列表是主要的)。

祝你好运:)

答案 1 :(得分:8)

答案 2 :(得分:2)

对于使用ie8并且不想使用插件的任何人我已经根据Rohit Azad和Bacotasan的博客创作了一些东西,我只是使用JS添加了一个跨度以显示所选值。

html:

<div class="styled-select">
   <select>
      <option>Here is the first option</option>
      <option>The second option</option>
   </select>
   <span>Here is the first option</span>
</div>

css(我只使用BG的箭头,但你可以放一个完整的图像并放下定位):

.styled-select div
{
    display:inline-block;
    border: 1px solid darkgray;
    width:100px;
    background:url("/Style Library/Nifgashim/Images/drop_arrrow.png") no-repeat 10px 10px;
    position:relative;
}

.styled-select div select
{
    height: 30px;
    width: 100px;
    font-size:14px;
    font-family:ariel;

    -moz-opacity: 0.00;
    opacity: .00;
    filter: alpha(opacity=00);
}

.styled-select div span
{
    position: absolute;
    right: 10px;
    top: 6px;
    z-index: -5;
}

js:

$(".styled-select select").change(function(e){
     $(".styled-select span").html($(".styled-select select").val());
});

答案 3 :(得分:1)

选择框箭头是原生ui元素,它取决于桌面主题或Web浏览器。使用jQuery插件(例如Select2Chosen)或CSS。

答案 4 :(得分:1)

在Firefox 39中

我发现为select元素设置边框会将箭头渲染为(2)。没有边框设置,将箭头渲染为(1)。我认为这是一个错误。

答案 5 :(得分:1)

http://jsfiddle.net/u3cybk2q/2/ 检查Windows,iOS和Android(iexplorer补丁)

&#13;
&#13;
.styled-select select {
   background: transparent;
   width: 240px;
   padding: 5px;
   font-size: 16px;
   line-height: 1;
   border: 0;
   border-radius: 0;
   height: 34px;
   -webkit-appearance: none;
}
.styled-select {
   width: 240px;
   height: 34px;
   overflow: visible;
   background: url(http://nightly.enyojs.com/latest/lib/moonstone/dist/moonstone/images/caret-black-small-down-icon.png) no-repeat right #FFF;
   border: 1px solid #ccc;
}
.styled-select select::-ms-expand {
    display: none;
}
&#13;
<div class="styled-select">
   <select>
      <option>Here is the first option</option>
      <option>The second option</option>
   </select>
</div>
&#13;
&#13;
&#13;