Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.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_Html Table_Css Tables - Fatal编程技术网

跨单元格组将HTML表格中的文本居中

跨单元格组将HTML表格中的文本居中,html,css,html-table,css-tables,Html,Css,Html Table,Css Tables,我希望,一旦有了一个HTML表,就能够获取一组单元格,并在该组单元格上以垂直和水平方向为中心编写一个文本(在本例中为单个字符),如下图所示 我已经探索了在第一个(左上)td中写入文本的可能性,然后在该td元素上使用overflowCSS属性,以使文本超出td的限制。但是,这不适用于垂直居中文本(跨tr) 有没有办法使用一个简单的HTML表和CSS,或者我应该考虑使用一个画布来重叠表上的文本吗?< /P> < P> 解决方案1:< /强> BR> 与valign和align一起使用和(它们是特定

我希望,一旦有了一个HTML表,就能够获取一组单元格,并在该组单元格上以垂直和水平方向为中心编写一个文本(在本例中为单个字符),如下图所示

我已经探索了在第一个(左上)
td
中写入文本的可能性,然后在该
td
元素上使用
overflow
CSS属性,以使文本超出
td
的限制。但是,这不适用于垂直居中文本(跨
tr


有没有办法使用一个简单的HTML表和CSS,或者我应该考虑使用一个画布来重叠表上的文本吗?< /P> < P> <强>解决方案1:< /强> BR> 与

valign
align
一起使用和(它们是特定的
居中属性):

td{
边框:1px实心#eee;
填充:1rem;
}
td[世界其他地区]{
背景色:rgba(255,0,0,07);
边框:1px纯红;
}

A.
x
x
x
x
x

解决方案1:
valign
align
一起使用和(它们是特定的
居中属性):

td{
边框:1px实心#eee;
填充:1rem;
}
td[世界其他地区]{
背景色:rgba(255,0,0,07);
边框:1px纯红;
}

A.
x
x
x
x
x

也许有更好的方法可以做到这一点。但是当你叠加元素时,事情会变得一团糟,因为你需要使用绝对定位。无论如何,这里有一些代码和一个示例来帮助您开始

我不知道你的具体情况是什么,但是你可以通过JavaScript动态地获得你需要的维度来动态地设置CSS

HTML

<span id="table-overlay-text-2">B</span> 
<span id="table-overlay-text-1">A</span> 
<table id="table1">
  <tr>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
  </tr>
</table>
<br />

<table id="table1">
  <tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
</table>

也许有更好的方法可以做到这一点。但是当你叠加元素时,事情会变得一团糟,因为你需要使用绝对定位。无论如何,这里有一些代码和一个示例来帮助您开始

我不知道你的具体情况是什么,但是你可以通过JavaScript动态地获得你需要的维度来动态地设置CSS

HTML

<span id="table-overlay-text-2">B</span> 
<span id="table-overlay-text-1">A</span> 
<table id="table1">
  <tr>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
  </tr>
</table>
<br />

<table id="table1">
  <tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
</table>


您能提供您已经编写的代码吗?几个问题#1从语义上讲,文本是否需要存在于表中#2单元格组始终是整个表格还是仅是表格的一部分,或者两者都是可能的#3表中是否有内容,文本是否会叠加在其上?#1文本无需成为表的一部分,它可以是不同的元素(我曾想过使用两个重叠的表并使用
位置
)#2单元格组可以只是表格的一部分。要提供正确答案,我们需要知道任何边缘情况,例如单元格大小可能不相等、单元格/行的动态数量等。请提供一个示例,以使其更加清晰。@LG。我刚意识到你的答案是正确的。而且它与桌子无关。用
更改
,这个问题被问了1000次。这不是以一组细胞为中心(这是我的回答),而是以整个
为中心。因此,请重复结束。您能提供您已经编写的代码吗?几个问题#1从语义上讲,文本是否需要存在于表中#2单元格组始终是整个表格还是仅是表格的一部分,或者两者都是可能的#3表中是否有内容,文本是否会叠加在其上?#1文本无需成为表的一部分,它可以是不同的元素(我曾想过使用两个重叠的表并使用
位置
)#2单元格组可以只是表格的一部分。要提供正确答案,我们需要知道任何边缘情况,例如单元格大小可能不相等、单元格/行的动态数量等。请提供一个示例,以使其更加清晰。@LG。我刚意识到你的答案是正确的。而且它与桌子无关。用
更改
,这个问题被问了1000次。这不是以一组细胞为中心(这是我的回答),而是以整个
为中心。因此,以复制方式结束。问题是,我希望保持单元格的原样,即在我的左图中,总共保留4个
td
。我这样做有两个原因:1)我需要显示所有的边界(包括内部边界);2) 我需要4
td
,因为它们有唯一的ID,我需要使用它们进行操作。你不能既吃蛋糕又吃蛋糕,@dsesto。单靠CSS和HTML是无法做到这一点的。不管怎样,你都需要JavaScript(获取rowspan/colspan元素中“单元格”的大小并模仿它,或者使用其中一个单元格并将其内容溢出到其他单元格之上。实际上,这是一种很有技巧的方法。将内容放在靠近中间的单元格中,并使用
transform:translate(-50%,-50%)进行转换
让它移位,并按大小的一半上移。你还需要根据td的填充和边距给它一个左上边距为负数的包装器。这样会起作用。@AndreiGheorghiu这是一个简单的位置,它与表的绝对位置一样,是相对的祖先,然后将其转换为中间位置……贴出了一个答案:@LGSon,如果你想的话就不要了它以大小不等的行/列为中心。这就是CSS网格的用武之地。好吧,现在我们不讨论这个问题,因为OP询问HTML表,并且图像显示它们大小相等,但当然,如果愿意,也可以扭曲任何内容使其不起作用。问题是,我希望保持单元格的原样,即在我的l中eft图像总共保留4个
td
。我希望这样做有两个原因:1)我需要