html - 如何使用 CSS 伪元素 :before{ content: '' } to affect an <option> element?

标签 html css pseudo-element

如果我有一个选项列表,我如何使用 CSS 伪元素 :before{ content: '' } 来影响 <option> ?下面有三个选项,我想在每个选项之前插入文本。

我知道这可以用 javascript/jQuery 来完成,但是用 CSS 可以吗?

<html>
<head>
    <style>

        option::before {
            content: "sandy - "
        }

    </style>


</head>
<body>

<select>
    <option>beach</option>
    <option>field</option>
    <option>carpet</option>
</select>


</body>
</html>

最佳答案

::before::after 伪元素实际上是在元素前添加/附加一个子节点,所以这对不能包含的任何元素都不起作用子节点。

这将(大致)相当于做:

<option><span>sandy - </span>beach</option>

如果要更新文本值,则需要使用 JavaScript。

关于html - 如何使用 CSS 伪元素 :before{ content: '' } to affect an <option> element?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9198195/

相关文章:

javascript - 单击要提交的行

html - 为什么 CSS 转换会影响站点宽度?

javascript - 如何在外部单击时关闭站点导航栏?

html - 为什么要给伪元素添加 block 级别?

css - :before pseudo is obscuring text on 2 lines

javascript - 显示/隐藏固定位置的 div

javascript - 如果 div 中存在元素,则 Jquery 添加类

javascript - 谷歌地图在缩放圆圈中无法正确居中

javascript - 一分钟后简单的 JQuery Fade ticker 停止

css - 使用 :before CSS pseudo element to add image to modal