如何设置 div 与 table 不同的宽度?

How do I set div like table with different width?

我有 div 看起来像 table,这是我的代码:

.cell {
  border: 1px solid red;
  display: table-cell
}

.tableLike {
  padding-bottom: 30px;
  display: table
}

.rowLike {
  display: table-row
}

.rowLike .cell:nth-child(1),
.rowLike .cell:nth-child(3) {
  width: 15%;
}
<div class="tableLike ">
  <div class="rowLike">
    <div class="cell"></div>
    <div class="cell">
      <div class="title">PRODUCT</div>
    </div>
    <div class="cell">
      <div class="title">PRICE</div>
    </div>
  </div>

  <div class="rowLike">
    <div class="cell">
      <i class="icon-close">X</i>
    </div>
    <div class="cell">
      some content
    </div>
    <div class="cell bolder">
      
    </div>
  </div>
  <div class="rowLike">
    <div class="cell">
      <i class="icon-close">X</i>
    </div>
    <div class="cell">
      some content some content
    </div>
    <div class="cell bolder">
      
    </div>
  </div>
</div>

现在所有的列都是不同的宽度,我不知道为什么。我希望 div 获得不同的宽度但同步。

像这样使用display:table

.tableLike{width:100%;display:table;}
.cell{border:1px solid red;display:table-cell;}

.tableLike {display:table;}
.rowLike{display:table-row;}
.cell{border:1px solid red;display:table-cell;}
.tableLike{padding-bottom: 30px;}
.rowLike .cell:nth-child(1),.rowLike .cell:nth-child(3){ width: 15%;}
<div class="tableLike ">
    <div class="rowLike">
        <div class="cell"></div>
            <div class="cell">
                <div class="title">PRODUCT</div>
            </div>
            <div class="cell">
                <div class="title">PRICE</div>
            </div>
        </div>

        <div class="rowLike">
            <div class="cell">
                <i class="icon-close">X</i>
            </div>
            <div class="cell">
                some content
            </div>
            <div class="cell bolder">
               
            </div>
        </div>
        <div class="rowLike">
            <div class="cell">
                <i class="icon-close">X</i>
            </div>
            <div class="cell">
                some content some content
            </div>
            <div class="cell bolder">
                
            </div>
        </div>
    </div>

添加正确的显示样式:

.cell {
  border: 1px solid red;
  display: table-cell;
}

.tableLike {
  padding-bottom: 30px;
  display: table;
}

.rowLike {
  display: table-row;
}

.rowLike .cell:nth-child(1),
.rowLike .cell:nth-child(3) {
  width: 15%;
}
<div class="tableLike ">
  <div class="rowLike">
    <div class="cell"></div>
    <div class="cell">
      <div class="title">PRODUCT</div>
    </div>
    <div class="cell">
      <div class="title">PRICE</div>
    </div>
  </div>

  <div class="rowLike">
    <div class="cell">
      <i class="icon-close">X</i>
    </div>
    <div class="cell">
      some content
    </div>
    <div class="cell bolder">
      
    </div>
  </div>
  <div class="rowLike">
    <div class="cell">
      <i class="icon-close">X</i>
    </div>
    <div class="cell">
      some content some content
    </div>
    <div class="cell bolder">
      
    </div>
  </div>
</div>

.tableLike {display:table;}
.rowLike{display:table-row;}
.cell{border:1px solid red;display:table-cell;}
.tableLike{padding-bottom: 30px;}
.rowLike .cell:nth-child(1),.rowLike .cell:nth-child(3){ width: 33%;}
<div class="tableLike ">
    <div class="rowLike">
        <div class="cell"></div>
            <div class="cell">
                <div class="title">PRODUCT</div>
            </div>
            <div class="cell">
                <div class="title">PRICE</div>
            </div>
        </div>

        <div class="rowLike">
            <div class="cell">
                <i class="icon-close">X</i>
            </div>
            <div class="cell">
                some content
            </div>
            <div class="cell bolder">
               
            </div>
        </div>
        <div class="rowLike">
            <div class="cell">
                <i class="icon-close">X</i>
            </div>
            <div class="cell">
                some content some content
            </div>
            <div class="cell bolder">
                
            </div>
        </div>
    </div>

我会这样做的。 你可以试试,但不一定是最好的答案。

.cell {
  border-right:1px solid red;
  border-bottom:1px solid red;
  display: table-cell
}

.tableLike {
  padding-bottom: 30px;
  display: table
}

.rowLike {
  display: table-row
}

.rowLike .cell:nth-child(1),
.rowLike .cell:nth-child(3) {
  width: 15%;
}

.rowLike:nth-child(1) .cell:nth-child(1),
.rowLike:nth-child(1) .cell:nth-child(2),
.rowLike:nth-child(1) .cell:nth-child(3){
  border-top:1px solid red;
}

.rowLike:nth-child(1) .cell:nth-child(1),
.icon-close{
  border-left:1px solid red;
}
<div class="tableLike ">
  <div class="rowLike">
    <div class="cell"></div>
    <div class="cell">
      <div class="title">PRODUCT</div>
    </div>
    <div class="cell">
      <div class="title">PRICE</div>
    </div>
  </div>

  <div class="rowLike">
    <div class="cell">
      <i class="icon-close">X</i>
    </div>
    <div class="cell">
      some content
    </div>
    <div class="cell bolder">
      
    </div>
  </div>
  <div class="rowLike">
    <div class="cell">
      <i class="icon-close">X</i>
    </div>
    <div class="cell">
      some content some content
    </div>
    <div class="cell bolder">
      
    </div>
  </div>
</div>