Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当列标题垂直时,如何自动设置空HTML表列的宽度?_Html_Css - Fatal编程技术网

当列标题垂直时,如何自动设置空HTML表列的宽度?

当列标题垂直时,如何自动设置空HTML表列的宽度?,html,css,Html,Css,我正在尝试用HTML布局一个表,其中: 列标题具有垂直文本 某些列(在正文中)为空 理想情况下,我希望浏览器自己计算所有的列宽 我看到的是,非空列很好,但空列被挤压,就好像浏览器没有考虑旋转文本的宽度一样 此处为HTML(注意“2”列为空) 这里还有一些关于垂直柱头的其他问题,但他们不是在问空柱,而是在使用transform:rotate(-90.0deg),这在我看来很难看 如图所示(上表显示了问题-我制作了带有水平标题的下表,以显示浏览器可以正确计算宽度): 在这里: 我在Firefox

我正在尝试用HTML布局一个表,其中:

  • 列标题具有垂直文本
  • 某些列(在正文中)为空
  • 理想情况下,我希望浏览器自己计算所有的列宽

    我看到的是,非空列很好,但空列被挤压,就好像浏览器没有考虑旋转文本的宽度一样

    此处为HTML(注意“2”列为空)

    这里还有一些关于垂直柱头的其他问题,但他们不是在问空柱,而是在使用
    transform:rotate(-90.0deg)
    ,这在我看来很难看

    如图所示(上表显示了问题-我制作了带有水平标题的下表,以显示浏览器可以正确计算宽度):

    在这里:


    我在Firefox 74和Safari上也看到了同样的情况,所以我想这是CSS布局规范中的一些东西?

    您可以尝试
    minwidth
    ,这样浏览器仍然可以调整以适应更宽的内容

    th,
    td {
      min-width: 1em;
    }
    

    对我来说当然有效!但是我可以看出,如果字体比它的em宽度高,或者如果页眉变成两行的话,那就不行了。顺便问一下,尼诺,你用的是Chrome吗?如果是这样的话,你看到了同样的效果吗?我正在使用Chrome,在你的演示中,它看起来应该是这样的,没有添加
    minwidth
    <代码>写入模式在旧浏览器上不受支持
    .vertical { writing-mode: vertical-lr}
    
    th,
    td {
      min-width: 1em;
    }