html - CSS 表格列最小宽度等于文本大小

标签 html css

我有一个简单的 HTML 表格,如下所示。

这是一个响应式表格,当浏览器缩小时它会缩小。

我想将列的最小宽度设置为与标题文本一样宽。

在 CSS 中执行此操作的最佳方法是什么?

       <table>
       <thead class="ui-datatable-thead">
           <tr class="ui-state-default">
               <th class="ui-state-default">COL HEADER</th>
           </tr>
       </thead>
       <tbody class="ui-datatable-data ui-widget-content">
          <tr class="ui-widget-content ui-datatable-odd">
              <td>DATA</td>
          </tr>
       </tbody>
       </table>

我看过其他一些答案,但还没有找到解决方案。

最佳答案

table {
    display: table;
    width: 100%;
    table-layout: fixed;
    margin-bottom: 20px;
}

th,td {
    display: table-cell;
    border: 1px dotted red;
    padding: 4px 6px;
    width: 2%;
    margin-bottom: 0;
}
<table>
       <thead class="ui-datatable-thead">
           <tr class="ui-state-default">
               <th class="ui-state-default">COL HEADER 1</th>
               <th class="ui-state-default">COL HEADER 2</th>
               <th class="ui-state-default">COL HEADER 3</th>
           </tr>
       </thead>
       <tbody class="ui-datatable-data ui-widget-content">
          <tr class="ui-widget-content ui-datatable-odd">
              <td>DATA 1</td>
              <td>DATA 2</td>
              <td>DATA 3</td>
          </tr>
       </tbody>
       </table>

所有你需要将单元格宽度 th & td table-layout 设置为“固定”。就像我在 css 代码中提到的那样。如果表格的总大小为 500 像素并且有 5 列,则每列将有 100 像素。

table{
    border: 1px solid black;
    table-layout: fixed;
    width: 500px;
}

th, td {
    border: 1px solid black;
    width: 100px;
}

关于html - CSS 表格列最小宽度等于文本大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42857611/

相关文章:

jquery - 我可以在灯箱中放置灯箱或图像贴图吗?

javascript - 在javascript中查找字符串在设置宽度的div(没有换行符)内运行的行数

html - 如何使 div margin-right 内的所有内容

iphone - android 和 webos 没有内容缩放?

php - 为什么使用wamp向本地服务器发送数据不成功?

javascript - 了解 CodePen 的 IDE 如何与 2d 射击游戏一起工作

html - 无法使垂直对齐 :middle work in a bootstrap table

html - 为什么 max-width 上的媒体查询不起作用?

css - 如何摆脱这个元素或改变它的颜色?

html - 根据可用宽度设置表格单元格内容的宽度