浮动而不覆盖填充物

时间:2017-04-04 11:40:04

标签: html css

我通过使用span参数创建了一个具有3个不同float:left的网站,这些网站彼此相邻。但这会弄乱我在包装器上的padding包含的两个元素。 如何在不弄乱填充物的情况下让它们彼此相邻?

Example



.wrapper {
  width: 100%;
  padding: 10px 0;
  background: red;
}

.box-A {
  width: 49%;
  float: left;
}

.box-A {
  width: 49%;
}

<h1>Not working but aligned</h1>
<div class="wrapper">
  <div class="box-A">
    Lorem
  </div>
  <div class="box-A">
    Ipsum
    <br> Ipsum
    <br> Ipsum
    <br> Ipsum
    <br>
  </div>
</div>

<h1>Working, but not aligned</h1>
<div class="wrapper">
  <div class="box-B">
    Lorem
    <br> Lorem
    <Br>
  </div>
  <div class="box-B">
    Ipsum
    <br> Ipsum
    <br>
  </div>
</div>
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:3)

有两种解决方案可以解决这个问题。

  1. 使用display:inline-block代替float:leftremove the spaces which is occured by inline-block
  2. clearfix添加到包装器

答案 1 :(得分:1)

<h1>Not working but aligned</h1>
<div class="wrapper">
  <div class="box-A">
    Lorem
  </div>
  <div class="box-A">
    Ipsum<br>
    Ipsum<br>
    Ipsum<br>
    Ipsum<br>
  </div>
</div>
<style>
.wrapper {
  width: 100%;
  padding: 10px 0;
  background: red;
  display: inline-block;
}
.box-A {
  width: 49%;
  float: left;
}

.box-A {
  width: 49%;
}
</style>

答案 2 :(得分:1)

wrapper

上添加.wrapper { width: 100%; padding: 10px 0; background: red; display: inline-block; overflow: hidden;/*Add This Property*/ }
{{1}}

答案 3 :(得分:0)

在你的CSS中进行以下更改,我希望这应该可行。

.wrapper {
  width: 100%;
  padding: 10px 0;
  background: red;
}
.box-A {
  width: 49%;
  float: left;
}

.box-A {
  width: 49%;
}

.wrapper:after {
    content:"";
    clear:both;
    display:block;
}