【问题标题】:Creating a scrollable tbody within a table with a new css of tbody使用 tbody 的新 css 在表中创建可滚动的 tbody
【发布时间】:2017-04-21 21:15:20
【问题描述】:

我有一个带有滚动 tbody 的工作表,其中使用了带有以下内容的 css。

tbody{
  overflow:auto;
}

thread > tr, tbody{
  display:block;
}
<table>
  <thread>
    <tr>
      <td>Item</td>
      <td>SerialNm</td>
    </tr>
  </thread>
  
  <tbody style="height:50px">
    <tr>
      <td>1</td>
      <td>12345</td>
    </tr>
    <tr>
      <td>2</td>
      <td>12345</td>
    </tr>
    <tr>
      <td>3</td>
      <td>12345</td>
    </tr>
  </tbody>
</table

我对此很满意。

但是在其他更复杂的表上,我必须使用 tbody 进行特定格式设置才能获得所需的效果。

我遇到的问题是,上面的 CSS 适用于我所有的表格,我只希望它用于这个特定表格中的 tbody。

我知道这意味着我需要上课,但是我已经尝试过了;

    .tbody-scroll, tbody{
  overflow:auto;
}

thread > tr, tbody-scroll{
  display:block;
}

并且显然为表格中的 tbody 分配了 class="tbody-scroll",但它的行为方式不同,它显示整个表格而不是防止溢出并转到滚动条。

如何使用所有这些设置创建另一个 tbody 实例以允许滚动而不影响“默认”tbody 设置?

【问题讨论】:

  • 您是否尝试过为特定表指定一个 id(例如 id="specificTable"),然后将您的 css 选择器相应地调整为 #specificTable .tbody-scroll, tbody{ overflow:auto; } 和 #specificTable 线程 > tr, tbody-scroll{ display:block; } ?

标签: html css asp.net-mvc html-table document-body


【解决方案1】:

只是为了向您展示建议的解决方案,适用于您的情况:

#specificTable tbody{
  overflow:auto;
}

#specificTable thread > tr, tbody{
  display:block;
}
<p> Specific table example</p>
<table id="specificTable">
  <thread>
    <tr>
      <td>Item</td>
      <td>SerialNm</td>
    </tr>
  </thread>
  
  <tbody style="height:50px">
    <tr>
      <td>1</td>
      <td>12345</td>
    </tr>
    <tr>
      <td>2</td>
      <td>12345</td>
    </tr>
    <tr>
      <td>3</td>
      <td>12345</td>
    </tr>
  </tbody>
</table>
<p> Other table example</p>
<table id="otherTable">
  <thread>
    <tr>
      <td>Item</td>
      <td>SerialNm</td>
    </tr>
  </thread>
  
  <tbody style="height:50px">
    <tr>
      <td>1</td>
      <td>12345</td>
    </tr>
    <tr>
      <td>2</td>
      <td>12345</td>
    </tr>
    <tr>
      <td>3</td>
      <td>12345</td>
    </tr>
  </tbody>
</table>

【讨论】:

  • 效果很好,我唯一的问题是实际应用程序 im 具有动态 ID。此代码用于存储序列号的表中的表。表格 id 是 SerialNumbersTable_@i.toString() ,它会在填充期间随着代码循环而更改 ID。我已经阅读了使用 [id=^SerialNumbersTable] tbody ..... 但这似乎不起作用?
  • 如果您的意思是选择“以”SerialNumbersTable 开头的表,那么我认为您的语法错误。请查看此链接以获取 css 选择器“开头为”:w3schools.com/cssref/sel_attr_begin.asp
猜你喜欢
  • 1970-01-01
  • 2011-07-17
  • 1970-01-01
  • 2011-10-17
  • 2013-06-03
  • 1970-01-01
  • 2022-07-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多