html - 如何在下拉选项中定位背景图片

标签 html css drop-down-menu background-image

我正在尝试为下拉选项设置背景图片。我已经成功了,但是宽度不起作用。正如您在 Fiddle 中看到的那样,我已经为下拉列表中的最后一个选项提供了宽度,但它在鼠标悬停时隐藏了文本。如果我没有给出宽度,下一张图片就会出现。 (例如:第二个选项)。

所以我的问题是,如何在选项的开头设置背景图片? (如它在第三个关闭选项中的显示方式)

HTML

<select class="select_filter" id="actif_search" style="width:140px; padding:5px 22px 6px 6px;">
  <option value="1" style="padding-left:15px;" selected>ACTIVE</option>
  <option value="2" class="open">OPEN</option>
  <option value="3" class="closed">CLOSED</option>
  <option value="4" class="pending">PENDING</option>
</select>

CSS

#actif_search .open{
    background: rgba(0, 0, 0, 0) url('https://s14.postimg.org/oax1a438h/all_list_icons.png') no-repeat scroll -11px -57px;
    padding-left: 20px !important;
    margin-left: -5px;
}
#actif_search .closed{
    background: rgba(0, 0, 0, 0) url('https://s14.postimg.org/oax1a438h/all_list_icons.png') no-repeat scroll -51px -57px;
    padding-left: 20px !important;
    margin-left: -5px;
}
#actif_search .pending{
    background: rgba(0, 0, 0, 0) url('https://s14.postimg.org/oax1a438h/all_list_icons.png') no-repeat scroll -30px -57px;
    padding-left: 20px !important;
    margin-left: -5px;
    width: 5px;
}

最佳答案

<option>元素通常由操作系统呈现,并且在它们上应用样式大多数时候都会失败。没有跨浏览器解决方案,至少没有达到为每个选项使用不同背景图像的程度。

作为解决方法,您可以使用 javascript 的替换技术。 我有时使用的图书馆是 Select2 (还有 an example 用于标记图像)。

最后也看看这个问题和答案: How to style the <option> with only CSS? [duplicate]

关于html - 如何在下拉选项中定位背景图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39876549/

相关文章:

html - 将元素放在页面底部

javascript - 尼斯选择 JS : Drop up the list

javascript - 我想将 ajax 响应数据加载到下拉列表中

javascript - Wordpress 100% 宽度下拉菜单与 JavaScript

javascript - 如何在html中为切换开关添加标题?

javascript - 如何在页面重新加载时清除 HTML 表单,而不是在用户导航返回页面时清除?

CSS 元素在 Chrome 中不显示,但在 Firefox 中显示

html - 搜索框和搜索按钮之间的对齐问题

html - 如何阻止 Foundation 的 `.columns` 类添加破坏移动优化的填充?

html - 图像未出现在 iOS7 中 chrome 的 Canvas 中