不允许使用按钮标记中的p标记?

Cor*_*lis 4 html

我有一个<button>元素,在其中,一个<p>元素.该<p>元素与css结合使用margin-top,在类中垂直对齐按钮内的文本(按钮具有特定高度).

html看起来像这样:

<button class="someClass">
    <img ... />
    <p class="anotherClass">Caption</p>
</button>
Run Code Online (Sandbox Code Playgroud)

这样工作正常,文本垂直对齐,就像应该的那样.但是我在visual studio 2012里面发出警告说:

元素'p'不能嵌套在元素'button'中.


我的问题:为什么<p>元素内部不允许<button>元素?还有什么选择?

Ori*_*iol 12

这是正确的,不允许,因为;

另一种方法是摆脱p元素,而是使用一个span元素display: block:

.anotherClass {
  display: block;
}
Run Code Online (Sandbox Code Playgroud)
<button class="someClass">
  <img ... />
  <span class="anotherClass">Caption</span>
</button>
Run Code Online (Sandbox Code Playgroud)