html - 可折叠的 div 作为行元素

标签 html

我正在尝试准备一个简单的评分表 [作为证明我的要求的示例]。我计划有一个可折叠的 div,它会在展开后呈现所有标记详细信息。

<div class="well">
  <table class="table table-bordered" 
         style="background:#fff; margin-bottom:10px;">
    <tbody>  
      <tr class="inverse">
        <th> ID</th>
        <th colspan="2"> Name</th>
      </tr>
      <tr>
        <td>1</td>
        <td>ABC</td>
        <td>
          <a  class="btn btn-primary" data-toggle="collapse" href="#ID_1" 
              aria-expanded="false"  >
              Hide/Unhide
          </a>
        </td>
      </tr>
      <tr>
        <td colspan="3">    
          <div class="collapse" id="ID_1">
            <div class="well">
              <table  class="table table-hover table-bordered" style="background:#fff; margin-bottom:10px;">
                <thead>                
                   <tr class="inverse">
                      <th>Subject</th>
                      <th>Mark</th>
                   </tr>
                </thead>
                <tbody>                
                  <tr>
                    <td>Physics </td>
                    <td>100</td>
                  </tr>
                </tbody>    
              </table>
            </div>
          </div>
        </td>
      </tr>
      <tr class="inverse">
        <th> ID</th>
        <th colspan="2"> Name</th>
      </tr>
      <tr>
        <td>2</td>
        <td>PQR</td>
        <td>
          <a  class="btn btn-primary" data-toggle="collapse" href="#ID_2" 
              aria-expanded="false"    >
              Hide/Unhide
          </a>
        </td>
      </tr>
      <tr>
        <td colspan="3">    
          <div class="collapse" id="ID_2">
            <div class="well">
              <table  class="table table-hover table-bordered" style="background:#fff; margin-bottom:10px;">
                <thead>                
                   <tr class="inverse">
                      <th>Subject</th>
                      <th>Mark</th>
                   </tr>
                </thead>
                <tbody>                
                  <tr>
                    <td>Chemistry</td>
                    <td>100</td>
                  </tr>
                </tbody>    
              </table>
            </div>
          </div>
        </td>
      </tr>
    </tbody>
  </table>
</div>

fiddle

但在这种方法中,当一个部分未展开时,包含可折叠 div 的行在表格中看起来像一个空白行 - 这是非常误导的。

我确信这不是呈现此类细节的最佳方式。想知道呈现这些细节的替代 UI 选项是什么。

最佳答案

使用这个 CSS:

td[colspan="3"] {
  padding: 0;
}

Fiddle

关于html - 可折叠的 div 作为行元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29611975/

相关文章:

带滚动条的 HTML 数据列表

javascript - 向下滚动时视差图像显示在图像顶部

python - Xpath,从div内的B中选择文本,同时也获取普通文本

php - 截断包含 HTML 的文本,忽略标签

javascript - 所以 DOM scrollIntoView 对齐顶部/底部,但是左/右呢?

javascript - 如何在dom元素中添加div

html - 使用@font-family 的 Lato 字体未出现

javascript - 三列等高,每列对应行

html - 如何按高度对齐卡片组内的所有图像?

html - 如何使容器宽度依赖于特定子项的宽度?