html - 合并的 Colspan 中的字体大小导致其他行中的列宽发生变化

标签 html css html-table

第二行中的第一个黑色列应该更细 (1%),但第一行中的大字体导致它太宽。事实上,第二行第一列的宽度随着第一行文本字体大小的变化而变化。为什么?这些行不是独立的吗?

<table style="background-color:#420E0E;height:100%;width:100%;position:absolute;top:0;bottom:0;left:0;right:0;">
  <tr style="height:5%;">
    <td colspan="2">
      <table style="border:1px solid #fff;width:100%;">
        <tr>
          <td style="border:1px solid #fff;color:white;font-size:100pt;">Home</td>
        </tr>
      </table>
    </td>
  </tr>
  <tr style="height:95%;">
    <td style="background-color:#000000;border:1px solid #fff;width:1%;"></td>
    <td style="background-color:#422E0E;"></td>
  </tr>
</table>

P.S.,似乎与此帖子类似: Colspan on cell in one row seems to prevent setting TD width in all the other rows. Why?

最佳答案

这是因为您没有在第二行第二列中提到宽度

width:99% 应用于第二列。

这是因为你的表有 table-layout:auto 属性...这意味着列 宽度 由单元格中最宽的牢不可破的内容设置。

堆栈片段

<table style="background-color:#420E0E;height:100%;width:100%;position:absolute;top:0;bottom:0;left:0;right:0;">
  <tr style="height:5%;">
    <td colspan="2">
      <table style="border:1px solid #fff;width:100%;">
        <tr>
          <td style="border:1px solid #fff;color:white;font-size:100pt;">Home</td>
        </tr>
      </table>
    </td>
  </tr>
  <tr style="height:95%;">
    <td style="background-color:#000000;border:1px solid #fff;width:1%;"></td>
    <td style="background-color:#422E0E;border:1px solid #fff;width:99%;"></td>
  </tr>
</table>

关于html - 合并的 Colspan 中的字体大小导致其他行中的列宽发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48677320/

相关文章:

jquery - 如何使用 jQuery 实现这种 Flash 效果?

javascript - 我不能用 jquery 以正确的方向扩展 div?

html - 如何让最右边的列填充剩余空间?

javascript - 将数据附加到表中作为变量

html - 标题在左侧(垂直)的响应式表格

php - DOM 解析 - 如何解析这样的文件中的 html

javascript - 使用 jquery 创建我自己的图片库网格

javascript - 将函数结果调用到 Web 文档

javascript - Sketch.js 将 Canvas 复制到剪贴板

javascript - RTL 可调整大小的列