在学习网络开发时,我遇到了一个问题。这是我的代码:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
p
{
background: blue;
}
.primary
{
color: red;
}
</style>
</head>
<body>
<p>
text1
<div class="primary">
text
</div>
text2
</p>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
由于某种原因,浏览器会转换<p>为<p>text</p>相同</p>的内容。因此,我得到的不是<div>嵌套在<p>(我实际上在源代码中编写的内容!)中:
...
<body>
<p>
text1
</p>
<div class="primary">
text
</div>
text2
<p></p>
</body>
...
Run Code Online (Sandbox Code Playgroud)
我认为发生这种情况是因为<p>它既可以是空元素(如<br>),也可以是非空元素(如<div>)。您能向我解释一下问题并给出解决方案吗?谢谢。
小智 8
标签<div>就像<p>是一个块级元素,这意味着它被设计为包含它自己的块,周围有换行符。尝试在<div>a 的内部嵌套<p>不太可能达到您想要的效果,因为它没有多大意义。A<p>是一个段落,它不应包含任何块级元素。这个问题可能与以下问题相关:
尝试使用<span>它,因为<span>是一个内联元素,它被设计为显示在段落内部。如果您确实需要多个块级元素,请考虑<p>根本不使用there,或者将它们用作最内部的块级元素而不是外部元素。