我正在使用 CSS 计数器和<code>标签来显示带有自动生成的行号的语法突出显示的代码片段:
HTML:
<code>
<div class="line"><span>line 1</span></div>
<div class="line"><span>line 2</span></div>
...
</code>
Run Code Online (Sandbox Code Playgroud)
CSS:
code {
display: inline-block;
border: 1px black solid;
padding: 1em;
font-family: "Consolas", "Monaco", "Courier New", monospace;
counter-reset: line;
}
code .line {
display: block;
counter-increment: line;
}
code .line::before {
border-right: 1px black solid;
padding-right: 1em;
margin-right: 1em;
content: counter(line);
}
Run Code Online (Sandbox Code Playgroud)
它最多可以运行 9 行,但是一旦达到两位数,它就会失去对齐:

如何使线条的左边缘对齐?或者右对齐行号?
我已经试过了:
counter(line, decimal-leading-zero) - 它最多可以工作 99 行,但它会在 100 行时中断,而且我不喜欢它的样子getComputedStyle(line, '::before').content只是返回"counter(line)"我在访问Gutenberg项目库时遇到问题...我正在使用Python 2.7.3。我可以访问NLTK库并使用python,但是在尝试访问原始文本时,它不允许我这样做。
我正在访问的文本是“犯罪与惩罚”,它的len(raw)应该等于1176831,但给我的len(raw)为288。这是我使用的代码:
>>> from __future__ import division
>>> import nltk, re, pprint
>>> from urllib import urlopen
>>> url = "http://www.gutenberg.org/files/2554/2554.txt"
>>> raw = urlopen(url).read()
>>> type(raw)
<type 'str'>
>>> len(raw)
288
>>> raw
'<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">\n<html><head>\n<title>403 Forbidden</title>\n</head><body>\n<h1>Forbidden</h1>\n<p>You don\'t have permission to access /files/2554/2554.txt\non this server.</p>\n<hr>\n<address>Apache Server at www.gutenberg.org Port 80</address>\n</body></html>\n'
>>>
Run Code Online (Sandbox Code Playgroud)