我有一个包含几个OPTION元素的SELECT列表。以下是我对选项文本部分进行样式化的简单方法:
<select name="color">
<option value="0">red <span style="font-weight: bold;">SLOW</span></option>
<option value="1">blue <span style="font-weight: bold;">SLOWER</span></option>
<option value="2">green <span style="font-weight: bold;">SLOWEST</span></option>
</select>
这不起作用:浏览器不喜欢OPTION元素中的SPAN元素。
是否有其他方法来样式化OPTION元素的部分文本?
8条答案
按热度按时间6yt4nkrj1#
但您始终可以创建一个自定义选择框。参考下面的jsFiddle,
JSFiddle for multi colored selectbox options
6za6bjd02#
不。
option
是以平台原生的方式进行样式化的,只对其中一部分进行样式化是不起作用的。(这通常也不是一个好主意。khbbv19g3#
或者你可以用Bootstrap Drop唐斯加上几行Javascript来做。
下面是Bootstrap示例,稍微做了一些修改,加上一个'lil Javascript:
hrysbysz4#
虽然你不能在OPTION元素中放置标记,但你可以使用CSS::BEFORE和/或::AFTER伪元素,并给予它们不同的样式。例如:
这将为每个OPTION创建一个带有粗体数字的SELECT元素。
注意:我还没有在所有浏览器上尝试过,但它应该可以在所有现代浏览器上工作。
siotufzp5#
这更像是对the question closed as a duplicate on other tags的一个解决方案,而不是特别针对 * * 的样式。
如果您不介意使用JavaScript,Select2提供了一种非常简洁的方法来实现这一点。它也使用列表。
这里是HTML
这是CoffeeScript
和here is JSFiddle。
eivnm1vs6#
选项标签中允许的内容为文本,可能带有转义字符(如é)。MDN doc for more details
but5z9lq7#
你可以使用react js的react-select选项来实现这一点,如下所示。
CodeSandbox
atmip9wb8#
在某些情况下,我可以通过jQuery来实现。标签:http://jsfiddle.net/rangine/wegx00La/4/
我使用了一个选择框来选择 Bootstrap 形式的字形图标。但不幸的是,这只适用于Firefox。(我没有在所有浏览器上测试它。)在Chrome不工作,在IE!* 我把它扔了 *
Html:
jquery:
一些CSS: