这个p标签高度为什么这么高,,?

新手上路,请多包涵

先上代码:

<!DOCTYPE html>
<html>
<head>
<style>
* {
  box-sizing: border-box;
}

.box {
  float: left;
  width: 50%;
  padding: 50px;
  height: 300px;
}

.clearfix::after {
/*  content: "";
  clear: both;
  display: table;*/
}
</style>
</head>
<body>

<h1>等高框</h1>
<p>有相同高度的浮动框:</p>

<div class="clearfix">
  <div class="box" style="background-color:#bbb">
  <h2>Box 1</h2>
  <p>Some content, some content, some content</p>
  </div>
  <div class="box" style="background-color:#ccc">
  <h2>Box 2</h2>
  <p>Some content, some content, some content</p>
  <p>Some content, some content, some content</p>
  <p>Some content, some content, some content</p>
  </div>
</div>

<p>这个例子不是很灵活。如果可以保证框中始终有相同数量的内容,则可以使用 CSS 高度,但并非总是如此。如果您在手机上尝试上例(或调整浏览器窗口的大小),则会看到第二个框的内容将显示在框的外部。</p>
<p>如果这不是您想要的,请返回教程并学习另一个解决方案。</p>

</body>
</html>

运行效果图:
运行效果图

我自己理解的,p标签高度不应该是自适应的吗,,也就是内容高度,可实际上p的高度为什么这么高,,,

阅读 2.3k
1 个回答

两个box使用了浮动,父元素没有清除浮动,所以高度是0,下面的p元素会紧挨着父元素布局,但由于浮动会使文字环绕,所以相当于把p元素的内容撑开了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题