【问题标题】:Vertically align cells across html ul list items跨html ul列表项垂直对齐单元格
【发布时间】:2020-06-24 14:40:20
【问题描述】:

我需要的是一个如下所示的ul 列表:

 - xxx      yyy
 - xxxxxxx  yy
 - xxxxx    yyyyy

而不是

 - xxx yyy
 - xxxxxxx yy
 - xxxxx yyyyy

里面

<ul>
   <li><div class="cell1"></div><div class="cell2"></div></li>
   <li><div class="cell1"></div><div class="cell2"></div></li>
   <li><div class="cell1"></div><div class="cell2"></div></li>
</ul>

我想合并一个像对齐这样的表格。


更新:那么在li 中包含一个包装器div 怎么样?

<ul class="table-list">
  <li><div><span>xxx</span><span>yyy</span></div></li>
  <li><div><span>xxxxxxx</span><span>yy</span></div></li>
  <li><div><span>xxxxx</span><span>yyyyy</span></div></li>
</ul>

https://jsfiddle.net/d6zvLgfu/1/

【问题讨论】:

标签: html css list html-table


【解决方案1】:

使用display: table;,它的行为就像一张桌子:

ul.table-list {
  display: table;
  border-collapse: collapse;
}

ul.table-list li {
  display: table-row;
  position: relative;
}

ul.table-list span {
  display: table-cell;
  padding: 0.2em 0.3em;
  border: 1px solid #14cce4; /* visualize the table */
}


/* add bullet if needed */

ul.table-list li:before {
  content: "- "
}
<ul class="table-list">
  <li><span>xxx</span><span>yyy</span></li>
  <li><span>xxxxxxx</span><span>yy</span></li>
  <li><span>xxxxx</span><span>yyyyy</span></li>
</ul>

【讨论】:

  • 您可以使用div,但span 在内联上下文中更有意义。
  • 但它仍然应该看起来像一个列表,不是吗?
  • @Johannes 请询问 OP。不知道要求。再看看这个问题,你可能是对的。但这只是附加样式的简单问题。
  • 我为表格解决方案添加了一个简单的项目符号。
  • 非常感谢,这就是我想要的。但现在我又遇到了一个问题:对于额外的样式,我需要将spans 包装在另一个 div 中,比如&lt;li&gt;&lt;div class="wrapper"&gt;&lt;span&gt;cell1&lt;/span&gt;&lt;span&gt;cell2&lt;/span&gt;&lt;/div&gt;&lt;div class="wrapper"&gt;other stuff not in a table cell&lt;/div&gt;&lt;/li&gt;。我试图添加这个,但它总是破坏布局
【解决方案2】:

一种方法是使所有 DIV 在 lis 内联块中,并为 .cell1cell2 添加百分比宽度:

li>div {
  display: inline-block;
  vertical-align: top;
}

.cell1 {
  width: 20%;
}

.cell2 {
  width: 70%;
}
<ul>
  <li>
    <div class="cell1">dfg</div>
    <div class="cell2">oiu vdsklndsf oiu</div>
  </li>
  <li>
    <div class="cell1">tzuk</div>
    <div class="cell2">amn dfg sdflgj dflgmn voj seorgij ef,mgn dflj ldkfgm .,m dfg sdflgj dflgmn voj seorgij ef,mgn dflj ldkfgm moiudskjn dfsoiu sdfne roie n sdlkjh sdfkjb i iuerkjn kjh kdf</div>
  </li>
  <li>
    <div class="cell1">dsfoiu oisdfg</div>
    <div class="cell2">vxciuh dfsndf smn iuzg</div>
  </li>
</ul>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 2011-07-30
    • 2013-04-03
    • 2014-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多