首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >css clearfix未按预期工作

css clearfix未按预期工作
EN

Stack Overflow用户
提问于 2015-03-15 05:56:20
回答 1查看 398关注 0票数 0

我有一个简单的dl / dt / dd列表,它很窄,所以一些列是双行或三行的,所以我需要清除每一行以使其看起来更好,但我不能使clearfix工作,以下是代码:

代码语言:javascript
复制
<dl>
  <dt>first column:</dt><dd class="clearfix">second column</dd>
  <dt>FIRST COLUMN:</dt><dd class="clearfix">SECOND COLUMN</dd>
  <dt>first column:</dt><dd class="clearfix">second column</dd>
</dl>

dl {
  width: 250px;
  display: block;
  overflow: hidden;
  margin-top: 5px;
  border: 1px solid #000000;
}
dt {
  float: left;
  width: 24%;
  font-weight: 300;
  color: #555555;
  overflow: hidden;
  display: block;
  border: 1px solid #FF0000;
}
dd {
  float: left;
  width: 74%;
  margin: 0;
  font-weight: 500;
  overflow: hidden;
  display: inline-block;
  border: 1px solid #0000FF;
}
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
.clearfix { display: inline-table; }
* html .clearfix { height: 1%; }
.clearfix { display: block; }

下面是一个小提琴示例:https://jsfiddle.net/7a0pgoef/

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2015-03-15 06:05:37

如果您希望每个<dt>从新行开始,则应将clear属性赋予<dt>本身,以便从其left端对浮点数进行clear

代码语言:javascript
复制
dl {
    width: 250px;
    overflow: hidden;
    border: 1px solid #000000;
}
dt {
    float: left;
    width: 24%;
    border: 1px solid #FF0000;
    clear: left;
}
dd {
    float: left;
    width: 74%;
    margin: 0;
    border: 1px solid #0000FF;
}
代码语言:javascript
复制
<dl>
  <dt>first column:</dt><dd>second column</dd>
  <dt>FIRST COLUMN:</dt><dd>SECOND COLUMN</dd>
  <dt>first column:</dt><dd>second column</dd>
</dl>

::after通常用于将伪子元素附加到包含浮点数的父元素中。

但是在这个特定的实例中,它没有任何帮助,因为<dl>元素只能包含<dt><dd>。换句话说,在<dt>/<dd>对周围添加另一个包装器是不允许/有效的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29054703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档