具有边距的多个div用于填充父宽度

Mde*_*mez 3 html css width css-tables

我试图让多个div占用父div的整个宽度.为了做到这一点,我使用display:tabledisplay:table-cell.这种方法的问题是我不能为子div添加边距以便在它们之间留出一些空间.现在他们都堆叠在一起,看起来不太好.

有什么建议?

这是代码:

HTML

.parent {
      text-align:center;
      margin:0px;
      width:500px;
      padding:0px;
      background:blue;
      display:table;
      box-sizing:border-box;
      -moz-box-sizing:border-box;
      -webkit-box-sizing:border-box;
      list-style-type:none;
    }
    
.child{
      padding:15px;
      background:#f00;
      display:table-cell;
      list-style-type:none;
    }
    
.child:nth-child(2n) {background:green;}
Run Code Online (Sandbox Code Playgroud)

CSS

<div class="parent">
<div class="child">sometext</div>
<div class="child">somemoretext</div>
<div class="child">sometext</div>
<div class="child">sometext</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是一个实时版本:http://codepen.io/mariomez/pen/MaXjqW

小智 5

Flexbox让你:):

  Body {background:cyan;}
.parent {
  text-align:center;
  margin:0px;
  width:100%;
  padding:0px;
  background:blue;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
 }
    
.child{
  padding:15px 25px;
  background:#f00;
  list-style-type:none;
  width:inherit;
  margin:5px;
}

.child:nth-child(2n) {background:green;}
Run Code Online (Sandbox Code Playgroud)
   <div class="parent">
<div class="child">sometext</div>
<div class="child">somemoretext</div>
<div class="child">sometext</div>
<div class="child">sometext</div>
</div>
<div class="parent">
<div class="child">somemoretext</div>
<div class="child">sometext</div>
</div>
<div class="parent">
<div class="child">somemoretext</div>
<div class="child">somemoretext</div>
<div class="child">sometext</div>
</div

>
Run Code Online (Sandbox Code Playgroud)