【问题标题】:The correct way of styling a select menu for cross browser functionality [duplicate]为跨浏览器功能设置选择菜单样式的正确方法[重复]
【发布时间】:2023-04-01 23:12:01
【问题描述】:

我在选择菜单中遇到了这个问题,它是关于在 CSS 和 Jquery 的帮助下对其进行样式设置的。到目前为止,我设法得到了这个结果,我真的很喜欢它:

到目前为止,它在 mozila、opera、chrome、IE7+ 上都能完美运行。

这是我目前拥有的来源:

HTML:

            <select class="styled" name="">
                <option>Select title</option>
                <option>Mr.</option>
                <option>Mrs.</option>
                <option>Miss.</option>
            </select>

CSS:

select {
    border: 1px solid #d6d8db;
    background-color: #ecedee;
    text-transform: uppercase;
    color: #47515c;
    padding: 12px 10px 12px 10px;
    width: auto;
    cursor: pointer;
    margin-bottom: 10px;
}
select > option {
    text-transform: uppercase;
    padding: 5px 0px;
}
.customSelect {
    border: 1px solid #d6d8db;
    background-color: #ecedee;
    text-transform: uppercase;
    color: #47515c;
    padding: 12px 10px 12px 10px;
    margin-bottom: 10px;
}
.customSelect.changed {
    background-color: #f0dea4;
}   
.customSelectInner {
    background:url(../images/select_arrows.png) no-repeat center right;
}

jQuery 由两部分组成: - 插件 - 和控制代码

这可以在我刚刚创建的 FIDDLE 中查看: http://jsfiddle.net/s6jGW/1/

请注意左侧有“外部资源”。

我想要达到的目标

  1. 我想对下拉菜单进行样式设置,使其看起来与图像中的大致相似(我的意思是那些选项,例如 - 高度 - 填充 - 悬停时:

  2. 我不希望“SELECT TITLE”作为选择选项,它必须只是选择框的标题。在这个小提琴中,您也可以看到它也是一种选择。 http://jsfiddle.net/s6jGW/1/

  3. 可能最重要的是,我正在寻找跨浏览器解决方案。

提前致谢

【问题讨论】:

  • 查看polymer-project.org 网站上的“下拉框”。它们是跨浏览器的“下拉框”,但不使用 &lt;select&gt;

标签: javascript jquery html css


【解决方案1】:

为跨浏览器功能设置选择菜单样式的正确方法

放弃吧,没有跨浏览器的方式来设置 select 和 option 元素的样式。您需要将它们替换为您自己的基于 HTML 的控件。

但是,如果您想坚持(并可能放弃旧版浏览器),以下链接可能会有所帮助:

【讨论】:

  • HTML5 对输入/选择/表单元素进行了大量升级。我迫不及待地希望他们在任何地方都被接受。
  • 好的,第二个问题怎么样?
  • @AndrewS 也许是一个带有绝对位置的标签,再加上一些 JavaScript?正如我所说,我认为您需要一个完全自定义的选择。
猜你喜欢
  • 2016-09-16
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 2019-06-15
  • 2013-04-25
  • 1970-01-01
  • 2010-12-13
  • 1970-01-01
相关资源
最近更新 更多