在此上下文中,元素样式不允许作为元素主体的子元素

时间:2014-02-03 12:48:06

标签: javascript html

当我检查W3C验证器时,这是我得到的唯一错误:

第34行,第15列:在此上下文中,元素div不允许作为元素h1的子元素。 (抑制此子树中的更多错误。)   可以使用元素div的上下文: 在哪里有流量内容。

以下是我的完整代码:http://jsfiddle.net/xiiJaMiiE/azN8Z/

这是我的代码:

<h1>
  <div id=signin> 
  <input type="text" name="textbox1" value="Username" onfocus="<!-- if
  (this.value==this.defaultValue) this.value=''; -->" size="19" height="10"/>
  <input type="password" name="password" value="Password" onfocus="if
  (this.value==this.defaultValue) this.value='';" size="19" height="10"/>
   </div>

2 个答案:

答案 0 :(得分:3)

验证器抛出错误的原因是因为根据w3规范,h1元素中不允许使用div元素(这是验证器检查的内容):

h1 permitted content: 短语内容

phrasing content: 由与正常字符数据混合的短语元素组成。

7.3. Phrasing elements: a或em或强或小或标记或abbr或dfn或i或b或s或u或代码或var或samp或kbd或sup或sub或q或cite或span或bdo或bdi或br或wbr或ins或del或img或embed或object或iframe或map或area或script或noscript或ruby或video或audio或input或textarea或select或button或label或output或datalist或keygen或progress或command或canvas或time or meter < / p>

(注意没有div)

答案 1 :(得分:2)

您的h1标签已打开,在启动div之前用/ h1关闭它,此错误将消失。

根据html规范,您不能将div放在h1标记内。你可以放置一个跨度,然后使用css display:block来获得类似的效果。