Html ul突破了p元素
这件怪事一直在发生。我有一个密码:Html ul突破了p元素,html,html-lists,Html,Html Lists,这件怪事一直在发生。我有一个密码: <p class="desc"><img class="portrait" src="../images/albums/pxal_prism.jpg" /> <ul class="song_list"> <li>Prism</li> <li>Other Song</li> <li>Some other song
<p class="desc"><img class="portrait" src="../images/albums/pxal_prism.jpg" />
<ul class="song_list">
<li>Prism</li>
<li>Other Song</li>
<li>Some other song</li>
<li>you know...</li>
<li>getting ridiculous</li>
</ul>
</p>
- 棱镜
- 其他歌曲
- 其他歌曲
- 你知道
- 变得可笑
当我检查元素时,它看起来是这样的:
<p class="desc"><img class="portrait" src="../images/albums/pxal_prism.jpg" /></p>
<ul class="song_list">
<li>Prism</li>
<li>Other Song</li>
<li>Some other song</li>
<li>you know...</li>
<li>getting ridiculous</li>
</ul>
<p></p>
- 棱镜
- 其他歌曲
- 其他歌曲
- 你知道
- 变得可笑
因此,我的ul不在正确的位置(图片旁边)。请提供帮助。
需要内联内容,但您指定了一个作为块元素的
标记。此处不允许使用,因此浏览器会在
开始之前自动关闭
元素
再考虑一下语义:
称为段落。段落不能包含列表。您应该使用一个需要流内容的
,而不是段落,因此允许使用
标记。删除p
标记,您可以使用div
标记。
使用CSS属性(float:left)来img
标记和ul
,这样它们将彼此相邻。根据,p元素“不能包含块级元素(包括p本身)。”
这意味着p元素只能包含内联元素
根据您的html,您正在使用:
--块元素
--允许的内联元素
**..
**--不允许的块元素
您可以使用div元素来代替p。参考此内容,您应该向询问者真正解释为什么需要使用div。有关更多详细信息,请参阅此副本的答案: