繁体   English   中英

SELECT元素中的图片[重复]

[英]Image in SELECT element [duplicate]

我知道如何使用CSS background-image属性在HTML下拉表单元素的选项旁边显示图片。

但是,图像不会显示在所选元素上。 有什么方法可以做到这一点(最好仅使用CSS)?

编辑:

这是列表元素的工作代码示例。 但是,关闭下拉菜单后,您只会看到所选元素的文本,而没有图像:

<select name="form[location]">
    <option value="ad" style="background: url(img/flags/ad.gif) no-repeat; padding-left: 20px;">Andorra</option>
    <option value="ae" style="background: url(img/flags/ae.gif) no-repeat; padding-left: 20px;">United Arab Emirates</option>
    <option value="af" style="background: url(img/flags/af.gif) no-repeat; padding-left: 20px;">Afghanistan</option>
    <option value="ag" style="background: url(img/flags/ag.gif) no-repeat; padding-left: 20px;">Antigua and Barbuda</option>
    <option value="ai" style="background: url(img/flags/ai.gif) no-repeat; padding-left: 20px;">Anguilla</option>
    <option value="al" style="background: url(img/flags/al.gif) no-repeat; padding-left: 20px;">Albania</option>
    <option value="am" style="background: url(img/flags/am.gif) no-repeat; padding-left: 20px;">Armenia</option>
    <option value="an" style="background: url(img/flags/an.gif) no-repeat; padding-left: 20px;">Netherlands Antilles</option>
    <option value="ao" style="background: url(img/flags/ao.gif) no-repeat; padding-left: 20px;">Angola</option>
    <option value="ar" style="background: url(img/flags/ar.gif) no-repeat; padding-left: 20px;" selected="selected">Argentina</option>

    [...] - I think you get the idea.

</select>

以跨浏览器的方式执行此操作将非常困难,我怀疑这是不可能的。

相反,您可能想尝试使用外观和行为类似于选择框的小部件,但该小部件带有HTML和Javascript。

这是使用jQuery的一种方法:

jquery.combobox

我同意尼古拉德斯的观点。 严格地使用HTML和CSS来做到这一点是行不通的。

您将希望使用渐进增强技术为那些不使用javascript或使用屏幕阅读器等的用户在页面上放置一个常规选择框,然后使用javascript将其替换为更漂亮,更漂亮的小部件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM