【发布时间】:2011-04-01 18:01:58
【问题描述】:
我想用伪 :after 在选择框上添加一些样式(以设置我的选择框有 2 个部分且没有图像)。这是 HTML:
<select name="">
<option value="">Test</option>
</select>
而且它不起作用。我不知道为什么,也没有在 W3C 规范中找到答案。这是 CSS:
select {
-webkit-appearance: none;
background: black;
border: none;
border-radius: 0;
color: white;
}
select:after {
content: " ";
display: inline-block;
width: 24px; height: 24px;
background: blue;
}
这是正常的还是有窍门的?
【问题讨论】:
-
我想这是不可能的,不应该是可能的,否则会很容易改变表单的内容。想象一下简单的 CSS 改变某物的显示价格。它可能被显示为比实际价格便宜,从而诱使人们以超出预期的价格购买东西。 (或者当然,如果有人可以访问页面/用户样式表的 CSS,那么他们可能会以其他方式做同样的事情......)
-
@Synetech - 这是不正确的,页面的作者应该完全控制页面样式的所有方面。浏览器制造商试图阻止某些元素的样式,因为它们可能被用来误导用户,这不会有效,因为几乎有无数种方法可以欺骗系统或产生误报。