HTML 表格以逐列呈现

标签 html css

我有这个基本表,我想在其中呈现行元素,使其应以垂直顺序呈现。每个<td>里面 <tr>应该以垂直顺序打印。

CSS 和 HTML:

table.spec-table {border: 1px solid #fff; width: 100%; margin: 0 0 4em 0}
table.spec-table>tr>th {background-color: #333; color: #fff; font-weight: bold;}
table.spec-table tr:nth-child(even) {background: #ddd}
table.spec-table tr:nth-child(odd)  {background: #eee}
table.spec-table tr:first-child     {background: #666; color: #fff; font-weight: bold}
table.spec-table th, td {font-size: .9em; padding: 7px; text-align: left;}
<table class="spec-table" id="here_table">
  <tr>
    <th colspan='4'>Single Mode</th>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>feature1</td>
    <td>feature2</td>
    <td>feature3</td>
  </tr>
  <tr>
    <td>value1</td>
    <td>value2</td>
    <td>value3</td>
    <td>value4</td>
  </tr>
  <tr>
    <td>test1</td>
    <td>test2</td>
    <td>test3</td>
    <td>test4</td>
  </tr>
</table>


为了完成这个任务,我只添加了两个 CSS 属性并按预期进行了渲染,但是表格设计分散了。

table.spec-table {border: 1px solid #fff; width: 100%; margin: 0 0 4em 0}
table.spec-table>tr>th {background-color: #333; color: #fff; font-weight: bold;}
table.spec-table tr:nth-child(even) {background: #ddd}
table.spec-table tr:nth-child(odd)  {background: #eee}
table.spec-table tr:first-child     {background: #666; color: #fff; font-weight: bold}
table.spec-table th, td {font-size: .9em; padding: 7px; text-align: left;}

tr.orientation { display: inline-block;}
tr.orientation th, tr.orientation td { display:block;  }
<table class="spec-table" id="here_table">
  <tr>
    <th colspan='4'>Single Mode</th>
  </tr>
  <tr class="orientation">
    <td>&nbsp;</td>
    <td>feature1</td>
    <td>feature2</td>
    <td>feature3</td>
  </tr>
  <tr class="orientation">
    <td>value1</td>
    <td>value2</td>
    <td>value3</td>
    <td>value4</td>
  </tr>
  <tr class="orientation">
    <td>test1</td>
    <td>test2</td>
    <td>test3</td>
    <td>test4</td>
  </tr>
</table>


有人可以帮我修复 table 设计,让它看起来像以前一样。

最佳答案

尝试这个:

table.spec-table {border: 1px solid #fff; width: 100%; margin: 0 0 4em 0}
table.spec-table>tr>th {background-color: #333; color: #fff; font-weight: bold;}
table.spec-table tr td:nth-child(even) {background: #ddd}
table.spec-table tr td:nth-child(odd) {background: #eee}
table.spec-table tr:first-child {background: #666; color: #fff; font-weight: bold}
table.spec-table th, td {font-size: .9em; padding: 7px; text-align: left;}

tr.orientation { display: table-cell;}
tr.orientation th, tr.orientation td {     
  display: grid;
  border-bottom: 2px solid #fff;
}
<table class="spec-table" id="here_table">
  <tr>
    <th colspan='4'>Single Mode</th>
  </tr>
  <tr class="orientation">
    <td>&nbsp;</td>
    <td>feature1</td>
    <td>feature2</td>
    <td>feature3</td>
  </tr>
  <tr class="orientation">
    <td>value1</td>
    <td>value2</td>
    <td>value3</td>
    <td>value4</td>
  </tr>
  <tr class="orientation">
    <td>test1</td>
    <td>test2</td>
    <td>test3</td>
    <td>test4</td>
  </tr>
</table>

关于HTML 表格以逐列呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47504190/

相关文章:

javascript - 如何根据我的数组填充 3 个下拉框和 1 个输入框? HTML Javascript

jquery - JWplayer 用户点击播放时全屏

html - 麻烦让Div居中

html - 在复选框列表文本和复选框之间添加空格

html - 将嵌套面板拉伸(stretch)到父面板的宽度

javascript - 更改多个div的内容

javascript - 使用下拉列表动态更改 PHP Mysql 查询

javascript - 将 Javascript 变量放入其他变量的定义中

css - 小型设备的重新排序列

javascript - Div文字垂直填充