我想在网页中显示带有行号的源代码。 (不幸的是,我不能使用现有的突出显示组件,例如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>


这行得通,但是我在源代码行较长时遇到了问题:表变得非常宽。如果我中断了长行,则左侧的行号不再正确。

最好的解决方案是创建一个表,让用户可以滚动宽行,就像在第88行上的this example from GitHub一样。来自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

09-30 22:36