1

所以我有这个代码:

<p id="item_1">
    <div class="background displayInline deleteItemFromCart" title="Delete item"></div>
    some text
</p>

简单吧?现在如果我在Chrome开发工具中查看源代码会发生什么:

在此处输入图像描述

正如您所看到的,由于某种原因<p>不再包含任何内容。

如果我尝试删除 div 文本将<p>再次回到标签中,所以我最好的猜测是<p>不能包含任何或仅包含 div 元素?

编辑好吧,这是一个愚蠢的问题,无论如何,现在我想起来了,如果我要建立一个事物列表,我可以使用它<ul>而不是<p>...无论如何,谢谢大家的帮助。

4

4 回答 4

2

这并不奇怪。这只是错误的标记:)

<p id="item_1">
    <span style="display:block" class="background displayInline deleteItemFromCart" title="Delete item"></span>
    some text
</p>

但是,虽然内联样式不好,你应该把这样的东西放到你的 master.css 文件中。

p span {display:block}
// Or
#item_1 span {display:block}
于 2012-09-08T08:42:53.247 回答
2

p标签不能包含块级元素,包括它自己。来源:http ://www.w3.org/TR/html401/struct/text.html#h-9.3.1

于 2012-09-08T08:42:54.147 回答
2

你是对的,<p>可以只包含内联元素和文本,但是<div>是块元素。

内联元素是:a abbr acronym applet b basefont bdo big br button cite code del dfn em font i img ins input iframe kbd label map object q samp script select small span strong sub sup textarea tt var

于 2012-09-08T08:43:32.877 回答
1

P 只能包含内联元素。

有关内联元素/流内容的快速讨论,请参阅此链接。

ol/ul 应该在 <p> 内部还是外部?

于 2012-09-08T08:42:44.203 回答