更改<select> HTML表单</select>上的边框颜色

时间:2009-01-29 17:34:16

标签: html css html-select

是否可以更改HTML表单中<select/>元素的边框颜色?

border-color样式适用于Firefox但不适用于IE。

我在Google上找不到真正的答案。

7 个答案:

答案 0 :(得分:25)

我会在div块中包含那个select块并设置border属性,如下所示:

<div style="border: 2px solid blue;">
  <select style="width: 100%;">
    <option value="Sal">Sal</option>
    <option value="Awesome">Awesome!</option>
  </select>
</div>


你应该能够用它来完成你需要的东西。

答案 1 :(得分:6)

正如Diodeus所说,除了<select>元素的默认边框外,IE不允许任何其他内容。但是,我知道有两个黑客可以达到类似的效果:

  1. 使用与下拉列表完全位于同一位置的DIV并设置其边框。下拉列表似乎有边框。

  2. 使用Javascript解决方案,例如,提供here的解决方案。

  3. 然而,它可能会付出太多努力,所以你应该评估你是否真的需要边界。

答案 2 :(得分:4)

不,<select>控件是系统级控件,而不是IE中的客户端级控件。有几个版本它甚至没有与z-index很好地配合,几乎可以将它放在几乎所有的东西之上。

要做任何花哨的事情,你必须使用CSS和你自己的元素来模拟功能。

答案 3 :(得分:2)

select{
    filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=-1, OffY=-1,color=#FF0000) progid:DXImageTransform.Microsoft.dropshadow(OffX=1, OffY=1,color=#FF0000);
}

适合我。

答案 4 :(得分:1)

您可以在IE中设置边框颜色,但是存在一些问题。

唉......我本可以发誓你可以做到这一点......只是测试并意识到我不正确。以下注释仍然适用。

    IE8中的
  1. (Beta1 - > RC1)更改边框颜色或背景颜色/图像会导致WindowsXP中控件的去除(下拉箭头和框看起来像Windows 95)

  2. 您仍然无法很好地设置选择控件中的选项,因为IE不支持它。 (see bug #291

答案 5 :(得分:0)

将边框颜色替换为轮廓颜色应该可以。

答案 6 :(得分:0)

<style>
.form-error {
        border: 2px solid #e74c3c;
    }
</style>



<div class="form-error">
                                {!! Form::select('color', $colors->prepend('Please Select Color', ''),           ,['class' => 'form-control dropselect form-error'
                                ,'tabindex' => $count++, 'id' => 'color']) !!}
                                </div>