我想把一个表居中,但是尽管它在技术上是居中的,td内容的不同长度使得表的右边有一个空白。
.wrap {
background: pink;
padding: 0 50px;
}
table {
margin: 0 auto;
text-align: center;
width: 100%;
tr {
td {
padding: 10px;
text-align: left;
}
}
}
<div class="wrap">
<table>
<tbody>
<tr>
<td>something here</td>
<td>row 1 col 2 my </td>
</tr>
<tr>
<td>row 2 col 1 hello world</td>
<td>react.js</td>
</tr>
</tbody>
</table>
</div>
我可以使table
和td
成为一个对齐的中心,但是td内容的不同长度使它看起来不均匀。
一个二个一个一个
我想要的是td的内容应该在 Package 器中左对齐并居中,就像此图像上的标签(即Cam 1、Cam 2等):
4条答案
按热度按时间lf3rwulv1#
您可以将
width: 50%
指定给<td>
,使其具有相等的宽度,如下所示:x一个一个一个一个x一个一个二个x
希望这有帮助!
cwdobuhd2#
你需要使用javascript/jquery来计算表的宽度,以便更好地控制它。检查this示例。
mo49yndu3#
我想我已经知道你想要什么了...你想要文本左对齐,但是文本的 * 列 * 居中。
你不能只使用HTML和CSS来实现你的结构,因为每一列并不是作为一个单元来处理的,这样就可以找到它的中心宽度。
对于一个纯HTML和CSS的解决方案,你必须重新构造你的表格,使它把每一列的内容作为一个整体来对待。你可以把它显示为
<ul>
,<p>
,甚至另一个表格,例如:工作代码段:
我为表列添加了边框,这样您就可以看到左对齐的内容在列中居中。
如果改变HTML的结构是不可能的,你需要使用一些类似javascript的东西来实现这一点。
vh0rcniy4#
你的问题很复杂也不清楚。但是据我所知,你想让一个表格居中,而不是td的文本。为此,你可以在你的表格上使用
margin:auto
,并删除text-align:center
,然后添加width
到你的表格(因为全宽不能居中),那么你的表格将不使用任何.wrapper
居中。示例
超文本标记语言
中央支助系统
添加了td的边框,这样你就可以检查td的文本对齐方式了。同时也修改了td的文本(抱歉)。