html - 最大宽度不适用于表格单元格

标签 html css html-table flexbox

我有一个表格,每行有 3 个单元格。这是我的 CSS:

table.result {
  width: 100%;
}

.result td:nth-child(3n+1) {
  width: 10%;
  max-width: 50px;
}

.result td:nth-child(3n+2) {
  width: 33%;
  max-width: 150px;
}

表格的第一个单元格宽度为 10% (187px),第二个 td33% ( 618px)并且设置 max-width 不起作用。

这个想法是有一个 100% 宽度的表格,第三个单元格具有其余宽度

table.result {
  width: 100%;
}

.result td:nth-child(3n+1) {
  width: 10%;
  max-width: 50px;
}

.result td:nth-child(3n+2) {
  width: 33%;
  max-width: 150px;
}
<table class="result" border="1">
  <tr>
    <td>Row</td>
    <td>Name</td>
    <td>Description</td>
  </tr>
</table>

最佳答案

通过向每个单元格添加一个 div 并在这些单元格上使用 max/min-width,您可以更好地控制单元格,这是一个示例

table.result {
  width: 100%;
}

.result td:nth-child(3) {
  width: 100%;
}

.result td:nth-child(1) div {
  min-width: 40px;
  max-width: 50px;
}

.result td:nth-child(2) div {
  min-width: 100px;
  max-width: 150px;
}
<table class="result" border="1">
  <tr>
    <td>
      <div>
        Row
      </div>
    </td>
    <td>
      <div>
        Name
      </div>
    </td>
    <td>Description</td>
  </tr>
</table>


另一种选择是使用 Flexbox,它可能看起来像这样

.result {
  display: flex;
  flex-direction: column;
}

.result > div {
  display: flex;
}

.result > div > div {
  border: 1px solid gray;
}

.result > div > div:nth-child(1) {
  flex-basis: 40px;                  /*  40px width  */
  max-width: 50px;
}

.result > div > div:nth-child(2) {
  flex-basis: 100px;                 /*  100px width  */
  max-width: 150px;
}

.result > div > div:nth-child(3) {
  flex-grow: 1;                      /*  fill the rest of the space  */
}
<div class="result">
  <div>
    <div>
      Row
    </div>
    <div>
      Name
    </div>
    <div>
      Description
    </div>
  </div>
</div>

关于html - 最大宽度不适用于表格单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45511581/

相关文章:

html - 加载 css 时出现问题

javascript - 如何从行/列循环中的表格单元格中提取超链接

css - 将非动态创建的控件放在动态创建的控件下方

javascript - 计算测验结果

在 codeIgniter 的 View 部分中编写的 Javascript 不起作用

html - CSS(WordPress)不同浏览器的不同图像位置

html - 为什么我的标题和主要部分由空格分隔?

javascript - HTML 表格可按 ROW 而不是使用 JavaScript 的 COLUMN 排序?

php - 在 Facebook 点赞后显示内容

html - 如何为背景创建剪贴蒙版?