html - 如何在表格中使用行跨度和列跨度设置列的宽度?
问题描述
我制作了一个 html 页面来显示一些正在工作的系统的状态仪表板。前七行的系统是相互关联的,所以除了每个系统的状态之外,我想介绍七个系统组合的状态。从技术上讲,这很好用,但我对布局并不完全满意。我想让左边的黄色条占据第一列的一小部分,而不是一半。
表的前三行编码为:
<tr><th id="namehead"></th><th colspan="2" class="typehead">Data</th>
<th class="typehead">Strøm</th><th class="typehead">Komm.</th></tr>
<tr id="sys1"><td id="agg_data" class="data agg" rowspan="7" td><td id="sys1_data"
class="data sys1"></td><td id="sys1_power" class="power sys1"></td><td id="sys1_comm"
class="comm sys1"></td></tr>
<tr id="sys2"><td id="sys2_data" class="data"></td><td id="sys2_power" class="power"></td>
<td id="sys2_comm" class="comm"></td></tr>
然后从第 8 个状态行开始,我执行以下操作:
<tr id="arc"><td id="arc_data" class="data" colspan="2"></td>
<td id="arc_power" class="power"></td><td id="arc_comm" class="comm"></td></tr>
在我的 CSS 中,“typehead”类设置了 {width: 100px;}。我试图在第一个状态行的单元格上设置宽度,虽然它没有给我任何错误,但它也不起作用(firefox 和 chrome)是否有可能在 css 中实现这一点?
解决方案
内容很可能正在拉伸表格单元格。如果将内容包装在 div 中并根据需要调整大小,则可以避免这种情况。并且,作为一个选项,垂直排列文本。
.typehead {
width: 100px;
font: bold 20px/1 sans-serif;
color: #e3e3e3;
background-color: #262626;
}
td {
padding: 4px;
text-align: right;
background-color: #31a72c;
}
tr:nth-child(2) td:nth-child(1) {
width: 1em;
background-color: #ffee52;
}
.vertical {
writing-mode: vertical-rl;
transform: rotate(.5turn);
}
<table>
<tr>
<!--th id="namehead"></th-->
<th colspan="2" class="typehead">Data</th>
<th class="typehead">Strøm</th>
<th class="typehead">Komm.</th>
</tr>
<tr id="sys1">
<td id="agg_data" class="data agg" rowspan="7">
<div class='vertical'>agg_data</div>
</td>
<td id="sys1_data" class="data sys1">sys1_data</td>
<td id="sys1_power" class="power sys1">sys1_power</td>
<td id="sys1_comm" class="comm sys1">sys1_comm</td>
</tr>
<tr id="sys2">
<td id="sys2_data" class="data">sys2_data</td>
<td id="sys2_power" class="power">sys2_power</td>
<td id="sys2_comm" class="comm">sys2_comm</td>
</tr>
<tr id="sys3">
<td id="sys3_data" class="data">sys3_data</td>
<td id="sys3_power" class="power">sys3_power</td>
<td id="sys3_comm" class="comm">sys3_comm</td>
</tr>
<tr id="sys4">
<td id="sys4_data" class="data">sys4_data</td>
<td id="sys4_power" class="power">sys4_power</td>
<td id="sys4_comm" class="comm">sys4_comm</td>
</tr>
<tr id="sys5">
<td id="sys5_data" class="data">sys5_data</td>
<td id="sys5_power" class="power">sys5_power</td>
<td id="sys5_comm" class="comm">sys5_comm</td>
</tr>
<tr id="sys6">
<td id="sys6_data" class="data">sys6_data</td>
<td id="sys6_power" class="power">sys6_power</td>
<td id="sys6_comm" class="comm">sys6_comm</td>
</tr>
<tr id="sys7">
<td id="sys7_data" class="data">sys7_data</td>
<td id="sys7_power" class="power">sys7_power</td>
<td id="sys7_comm" class="comm">sys7_comm</td>
</tr>
<tr id="arc">
<td id="arc_data" class="data" colspan="2">arc_data</td>
<td id="arc_power" class="power">arc_power</td>
<td id="arc_comm" class="comm">arc_comm</td>
</tr>
<tr id="arc">
<td id="arc_data" class="data" colspan="2">arc_data</td>
<td id="arc_power" class="power">arc_power</td>
<td id="arc_comm" class="comm">arc_comm</td>
</tr>
<tr id="arc">
<td id="arc_data" class="data" colspan="2">arc_data</td>
<td id="arc_power" class="power">arc_power</td>
<td id="arc_comm" class="comm">arc_comm</td>
</tr>
<tr id="arc">
<td id="arc_data" class="data" colspan="2">arc_data</td>
<td id="arc_power" class="power">arc_power</td>
<td id="arc_comm" class="comm">arc_comm</td>
</tr>
<tr id="arc">
<td id="arc_data" class="data" colspan="2">arc_data</td>
<td id="arc_power" class="power">arc_power</td>
<td id="arc_comm" class="comm">arc_comm</td>
</tr>
</table>
推荐阅读
- java - NetBeans 8.2 看不到创建 Java 应用程序的选项
- webpack - webpack 仅编译,没有构建输出以检查退出代码
- reactjs - 更改使用 chrome 扩展做出反应的输入值
- c# - 具有统一 BorderThickness 的边框无法绑定 BorderBrush 颜色
- css - 为什么在使用响应式桌面、移动设备或平板电脑时,在 hr 上使用 margin left = 47% 会有不同的作用?
- javascript - 下载网站清单需要执行哪些必要步骤?
- google-chrome - 屏幕阅读器无法读出移动浏览器上的复选框标签
- go - 在 golang 中更新 grpc 的接收和发送消息大小
- python - 如何在 tkinter GUI 中将函数返回值分配给类变量?
- java - 根据用户选择/输入从集合中过滤对象