css - 为什么 div 继续占据父级的 100%,即使它具有 50% 的显式宽度

标签 css

我在它们的父 div 中有两个 div:

<div>
  <div class="col-1"></div>
  <div class="col-2"></div>
</div>

.col-1, .col-2 {
  width: 50%;
}

它们的宽度均为 50%。然而,尽管他们的背景确实是 parent 的 50%,但他们继续占据 parent 的 100%。为什么会这样?

最佳答案

div 需要被视为一个分区,除非您告诉它 float ,否则它将占据一条线的所有宽度,即使它可能不会填充它,这是因为应用于 div 的固有 css 属性 display:block。如果您通过将 float:left;float:right; 添加到它们的 css 来告诉两个 div float ,它们将允许其他元素共享其父元素的宽度。这是它的外观的一个片段(您可以通过单击运行按钮查看结果)

#container .child{
  width:50%;
  float:left;
}

.red{background:red;}
.blue{background:blue}
<div id='container'>
  <div class='child red'>a</div>
  <div class='child blue'>b</div>
</div>

关于css - 为什么 div 继续占据父级的 100%,即使它具有 50% 的显式宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25934065/

相关文章:

css - 如何使我的顶部栏元素在响应式中可点击?

javascript - h1 标签不会通过 jquery .html() 改变

css - grunt-cssc 不工作 "cannot read property ' 类型'"~ Foundation 5

html - CSS:在执行 Ctrl 和 - 时修复背景大小

css - 模糊网站背景的 mp4 视频

CSS 网格和 Sass

html - 在表格中居中表格

javascript - Angular 固定表头故障

html - 添加文本溢出 : ellipsis; to table cell

html - 将所有元素居中到一定宽度