html - 如何清除:both; correctly?

标签 html css

<style>
.cl {clear:both;}
.block {}
.left {float:left;}
</style>

<div class="block">
   <div class="left">Title 1</div>
   <div class="left">Value 1</div>
   <div class="cl"></div>
</div>
<div class="block">
   <div class="left">Title 2</div>
   <div class="left">Value 2</div>
   <div class="cl"></div>
</div>

是否可以避免添加 <div class="cl"></div>在每个 .block 的末尾?

最佳答案

这个问题有两种常见解决方案。

  1. overflow: hidden 添加到 float 元素的父级(因此在本例中为 .block)。
  2. 使用“clearfix”:http://nicolasgallagher.com/micro-clearfix-hack/

此处提供更多信息:Is clearfix deprecated?


使用 clear: both 的好时机是当您已经有一个元素可以添加到其中时。

例如,带有页脚的 float 列的常见情况:http://jsfiddle.net/thirtydot/vhBkM/

关于html - 如何清除:both; correctly?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7336194/

相关文章:

html - 内联列表的右侧元素覆盖左侧元素的文本

php - 如何通过分页从我的 mysql 数据库表中每页只显示 5 条记录?

html - 进行此布局的正确方法?

html - 如何使html输入的可点击区域更大

c# - 如何使用 C# 在 ASP.NET 中编辑 css 文件以更改网站设计

html - CSS 过渡高度输入元素

javascript - 如何在 javascript 中更改下拉列表的值并触发 onchange 函数

javascript - 带返回值的跨域弹窗

jquery - 无法在 jQuery.append() 中设置标签样式?

javascript - 在响应式布局上动态保持 2 个 div 的高度相同