html - HTML 表格中长行的垂直滚动

标签 html css html-table

我想在网页中显示带有行号的源代码。 (不幸的是,我不能使用现有的突出显示组件,如 google-code-prettify,因为我必须使用我自己的语法分析器。)

为了防止行号与源代码一起复制和粘贴,我使用了一个包含一行和两个单元格的表格:第一个单元格中有行号,第二个单元格中是源代码:

<html><body>
<table>
  <tr>
    <td>1<br/>2<br/>3</td>
    <td>
      <pre>int main() {
    println("I am a very looooooooooooooooog source code line.")
  }</pre>
    </td>
  </tr>
</table>
</body></html>

这行得通,但我遇到长源代码行的问题:表格变得非常宽。如果我打断长行,左侧的行号将不再正确。

最好的解决方案是一个表格,用户可以滚动宽行,就像 this example from GitHub在第 88 行。我尝试使用各种 CSS 参数,例如 overlaywidthwhite-space,但我没有从 GitHub 获得结果.

如何在没有滚动条的表格中滚动垂直长行?

(或者是否有更好的解决方案来显示没有表格的带有行号的代码?我见过使用有序列表或文本区域的解决方案,但它们也有问题。)

最佳答案

尝试这样设置代码表单元格:

<td>
  <div class="scrollable">
    <pre>int main() {
         println("I am a very looooooooooooooooog source code line.")
         }</pre>
  </div>
</td>

并上课:

.scrollable {
  overflow: scroll;
}

参见 How to create a table cell that scrolls when overflowing

关于html - HTML 表格中长行的垂直滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14876825/

相关文章:

css - 导航栏标题没有向左移动

html - 使用 SASS mixin 时 CSS 编译错误

html - 如何将 HTML 表格转换为 CSV?

javascript - 基于 HTML5 Canvas 图 block 的 map 未显示

html - 输入文本填满剩余空间

python - 根据用户管理员级别使按钮消失

Javascript 正在删除要删除的行上方的行

javascript - 如何设置事件监听器以使用 JavaScript 监听 HTML 源代码中的文本框?

jquery - 使用多个透明条目创建面积图 (MIT/GNU)

javascript - 单击表标题时隐藏表行