下拉菜单中的<h1>有问题吗?</h1>

时间:2009-02-21 10:31:02

标签: html html-select

我在网页上使用此菜单

<select id="menu">
<option value="1"><h1>one</h1></option>
<option value="2"><h1>two</h1></option>
<option value="3"><h1>three</h1></option>
</select>

我想知道为什么 <h1>...</h1> 无效。

谢谢!提前。

6 个答案:

答案 0 :(得分:5)

option element仅允许将文字作为内容。这是元素定义:

<!ELEMENT OPTION - O (#PCDATA)         -- selectable choice -->

答案 1 :(得分:2)

我没有试过这个,所以这是推测,但我怀疑在下拉菜单中放一个标题是荒谬的。我会在选项本身上使用CSS类来改变选项的格式。

<select id="menu">
<option class="mybiggertext">Option 1</option>
etc...

答案 2 :(得分:1)

因为你不能在我的知识中使用select选项标签中的标签。 如果你想改变字体大小,请改用CSS:

<html>
<head>
<style type="text/css">
select, option {font-size: 200%}
</style>
</head>
<body>
<select id="menu">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>
</body>
</html>

答案 3 :(得分:1)

您无法在选项元素中插入Html标记。

但你可以这样做(包括所有选项):

<select style="font-weight:bold;font-size:14px;color:red;">
<option>item 1</option>
<option>item 2</option>
<option>item 3</option>
</select>

答案 4 :(得分:1)

如果您的目标是增加菜单选项中的字体大小,请尝试改为:

<select id="menu" style="font-size:20">
<option value="1">one</option>
<option value="2">two</option>
<option value="3">three</option>
</select>

答案 5 :(得分:0)

首先,HTML 4.01XHTML 1.1的规范将'option'元素的最小内容模型指定为CDATA - 这意味着它只能包含文本(没有子元素)。 大多数浏览器都尊重这一点,并且不会在“选项”中渲染任何元素。

其次,似乎你正在使用'h1'元素来创建视觉区别,而不是正确地用作创建语义内容层次结构的标头。我建议你使用以下内容:

<option value="1" class="big">one</option>

根据需要设置'大'样式。