不会设置表格列的宽度

Posted

技术标签:

【中文标题】不会设置表格列的宽度【英文标题】:Width for table columns will not set 【发布时间】:2012-01-07 03:05:35 【问题描述】:

如果您查看表中<thead> 标记中的所有<th> 标记,您可以看到每个<th> 是否有自己的类:col1、col2、col3 和 col4。

我正在尝试为每个类设置最大和最小宽度,问题是它根本没有设置宽度。如果用百分比设置宽度就不行了,但是用px可以,但是我想用百分比,那为什么不设置宽度呢?

下面是表格代码:

<div id="tableWrapper">
  <div id="tableScroll">
    <table id="qandatbl" align="center">
      <thead>
        <tr>
          <th class="col2">Question No</th>
          <th class="col4">Question</th>
          <th class="col2">Option Type</th>
          <th class="col1">Duration</th>
          <th class="col2">Weight(%)</th>
          <th class="col1">Answer</th>
          <th class="col3">Video</th>
          <th class="col4">Audio</th>
          <th class="col3">Image</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
          <td></td>
        </tr>
      </tbody> 
    </table>
  </div>
</div>

下面是css;

#qandatbl
  font-size:14px;
  border-collapse:collapse;
  text-align:center;
  margin-left:auto; 
  margin-right:auto;

.col1
  background-color:#FCF6CF; 
  max-width:7%;
  min-width:7%; 
  border: 1px solid black;

.col2
  background-color:#FEFEF2;
  max-width:7%;
  min-width:7%;
  border: 1px solid black;  
   
.col3
  background-color:#FEFEF2; 
  max-width:16%;
  min-width:16%;    
  border: 1px solid black;

.col4
  background-color:#FCF6CF;
  max-width:16%;
  min-width:16%;    
  border: 1px solid black;

#tableWrapper 
  position:relative;

#tableScroll 
  height:300px;
  overflow:auto;  
  margin-top:20px;

#tableWrapper thead tr 
  position:absolute;
  top:-24px;

【问题讨论】:

【参考方案1】:

1- 设置表格的宽度

2- 调整您的百分比,使它们的总和为 100%(考虑到每种类型的列出现的次数,似乎每种列出现两次)。

【讨论】:

我把它们都放了 25% 以使其宽度总和为 100% 但我没有工作,它使标题更宽但整个标题没有像这页纸。相反,它与页面宽度的 1/3 一样宽 尝试设置表格的宽度。这就是百分比的相对关系。因此,如果没有表格宽度,它们可能会被忽略。使用 100% 使表格使用所有空间。 4 列中的每一个都出现了两次,所以 25% 等于 200%。 好的,谢谢,宽度的总和必须为 100% 还是可以更小?我所做的是将每列设置为 12.5%,并将“#tableWrapper tr”设置为 100%,(我将 th 包含在此 id 中并使其工作) 我相信如果它小于 100%,最后一列将自己占用缺失的百分比。不过我不确定。

以上是关于不会设置表格列的宽度的主要内容,如果未能解决你的问题,请参考以下文章

excel中如何快速设置每行每列的宽度

如何从 JavaScript 调整表格列的宽度

XLSReadWriteII 行宽,列高怎么设置

HTML 表格 - 列的宽度不会改变

layui 的数据表格 列宽度自适应应该怎么设置

在html中怎样控制表格的宽度