html - 对齐所有列表项
问题描述
我想完美地对齐所有列表项,但我做不到。如果您看到图像,因为第二个 li 有更多文本,这会导致它们不对齐。
与注释不同,我不能在人名上使用文本溢出。
边距和填充也不起作用。
请帮助我如何解决它。
#data-table .list {
display: flex;
align-items: center;
justify-content: space-between;
text-align: center;
color: #97A1A9;
font-size: .9rem;
white-space: nowrap;
}
#data-table .list>* {
padding: 1rem 2rem;
}
#data-table .list div:first-child {
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
#data-table .list div:first-child input[type="checkbox"] {
margin-right: 7px;
}
#data-table .list div:last-child {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 221px;
}
<div id="data-table">
<ul>
<li class="list">
<div><input type="checkbox">Customer Name</div>
<div>Seller #</div>
<div>Bill #</div>
<div>Amount</div>
<div>Due Date</div>
<div>Bill Payment Date</div>
<div>Notes</div>
</li>
<!-- Dummy -->
<li class="list">
<div><input type="checkbox">Roshan Ahmad Shaheen</div>
<div>2523532</div>
<div> 73457346735</div>
<div>122.76k</div>
<div>23-Jan-2021</div>
<div> --</div>
<div>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Quasi, accusamus?</div>
</li>
<li class="list">
<div><input type="checkbox">Roshan Ahmad</div>
<div>2523532</div>
<div> 73457346735</div>
<div>122.76k</div>
<div>23-Jan-2021</div>
<div> --</div>
<div>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Quasi, accusamus?</div>
</li>
解决方案
如果不设置固定宽度,就无法在不同行上对齐 flexbox 元素。坦率地说,这是表格数据,因此您应该使用table
.
或 CSS 表
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
::before,
::after {
box-sizing: inherit;
}
#data-table ul {
display: table;
}
#data-table .list {
display: table-row;
text-align: left;
color: #97A1A9;
font-size: .9rem;
white-space: nowrap;
}
#data-table .list>* {
padding: 1rem 2rem;
display: table-cell;
}
#data-table .list div:first-child input[type="checkbox"] {
margin-right: 7px;
}
<div id="data-table">
<ul>
<li class="list">
<div><input type="checkbox">Customer Name</div>
<div>Seller #</div>
<div>Bill #</div>
<div>Amount</div>
<div>Due Date</div>
<div>Bill Payment Date</div>
<div>Notes</div>
</li>
<!-- Dummy -->
<li class="list">
<div><input type="checkbox">Roshan Ahmad Shaheen</div>
<div>2523532</div>
<div> 73457346735</div>
<div>122.76k</div>
<div>23-Jan-2021</div>
<div> --</div>
<div>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Quasi, accusamus?</div>
</li>
<li class="list">
<div><input type="checkbox">Roshan Ahmad</div>
<div>2523532</div>
<div> 73457346735</div>
<div>122.76k</div>
<div>23-Jan-2021</div>
<div> --</div>
<div>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Quasi, accusamus?</div>
</li>
推荐阅读
- sql - 查询表中重复的属性值
- java - 使用 Lambda、Stream java 将值添加到两个嵌套的 JSON 数组中
- java - 有没有办法获得随机整数的 Math.min() ?爪哇
- python - 如果 Python 列表太短,是否自动将其扩展到 N 个元素?
- reactjs - 还原 | 无法获得 Axios 响应以调度到减速器
- google-cloud-firestore - 使用 Sapper 设置 Firestore
- excel - 查找功能仅在第一次工作
- c - 如何避免使用 rand 和 srand 获得重复的数字?
- python - 如何在 Pandas 列中获取某些数据?
- javascript - 允许在字段中使用小数