日期:2014-05-17  浏览次数:20658 次

请问内联元素为什么说只能容纳文本或者其他内联元素?
内联元素只能容纳文本或者其他内联元素?
我百度查找内联元素和块元素的区别,找到的文章都这么写,但我自己测试了下
<a>
  <div style="width: 400px; height:400px;">
      aaaaaaa
   </div>
</a>
块元素放在内联元素内也没报错,而且会把内联元素撑大,这又是怎么回事?
求懂的人解答下,在下菜鸟一个。
css 内联

------解决方案--------------------
“内联元素只能容纳文本或者其他内联元素”,通常如此,但也有些例外。
比如,在HTML5出现后,内联元素a可以包含块元素。

大多数内联元素不可以包含块元素。
比如,你把包含div的a标签换成span,
W3C验证时就会报错。验证虽然报错,但浏览器依然能显示。
只是这种显示规则没有标准的定义。

HTML的设计的一个原则是,尽量让页面元素能显示出来,只要不是很糟糕的错误。
一些规则不是强制性的,就如同道德一样。
你可以将块元素放在内联元素里,但你却不应该这样做。