我的理解是,使用display:inline-block
作爲樣式的元素將作爲塊在內部佈置,但在內部的任何容器中都將被視爲內聯元素。這似乎是真的,如果他們在li
或div
或一堆其他東西;但如果它們在p
之內,則不同,原因不明。考慮下面的例子:爲什麼inline-block在p和div內部的行爲有所不同?
<!DOCTYPE html>
<p>Test1<table style="display:inline-block"><tr><td>x</td></tr></table>Test1</p>
<div>Test2<table style="display:inline-block"><tr><td>x</td></tr></table>Test2</div>
<p>Test3<span style="display:inline-block"><table><tr><td>x</td></tr></table></span>Test3</p>
<div>Test4<span style="display:inline-block"><table><tr><td>x</td></tr></table></span>Test4</div>
這裏的頭兩行有一個表內(分別地)風格display:inline-block
一個p
和div
。接下來的兩個在span
內部具有內嵌塊樣式的表格,其也在p
和div
內。在Test2和Test4,div
的情況下,整個事情出現在一條線上(正如我所期望的那樣)。在Test1中,假設內嵌塊元素的前面是換行符,而在Test3中,假設內嵌塊元素的前後都是換行符。
爲什麼?
從HTML4規範的,和OP的使用HTML5的措辭模型。 –
這是真的。謝謝 –