最近用google-code-prettify高亮博客的代码,但是行号怎么也无法显示,求教。。

2012-04-14 21:07:22 +08:00
 udonmai
首先是用的bootstrap,然后搭配google-code-prettify高亮并产生行号。
就是想要这个效果的 http://twitter.github.com/bootstrap/base-css.html#code
但是左边空间都空出来了就是行号显示不了,而且看似这个行号是js控制的动态的,在html里并没有数字,所以一时没弄明白。。。T T
求助。。
8312 次点击
所在节点    问与答
10 条回复
Ture
2012-07-15 22:24:12 +08:00
不显示行号貌似是因为这个样式:
li.L0,
li.L1,
li.L2,
li.L3,
li.L5,
li.L6,
li.L7,
li.L8 { list-style-type: none }
在chrome的控制台里面把这个样式取消掉行号就出来了。
Ture
2012-07-15 22:29:34 +08:00
照着bootstrap 官方文档里使用的prettify的css样式弄就好了:
.com { color: #93a1a1; }
.lit { color: #195f91; }
.pun, .opn, .clo { color: #93a1a1; }
.fun { color: #dc322f; }
.str, .atv { color: #D14; }
.kwd, .linenums .tag { color: #1e347b; }
.typ, .atn, .dec, .var { color: teal; }
.pln { color: #48484c; }

.prettyprint {
padding: 8px;
background-color: #f7f7f9;
border: 1px solid #e1e1e8;
}
.prettyprint.linenums {
-webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
-moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
}

/* Specify class=linenums on a pre to get line numbering */
ol.linenums {
margin: 0 0 0 33px; /* IE indents via margin-left */
}
ol.linenums li {
padding-left: 12px;
color: #bebec5;
line-height: 18px;
text-shadow: 0 1px 0 #fff;
}
cutehalo
2012-07-15 22:34:15 +08:00
行号是CSS控制的
写在了bootstrap里面写在了
ol{list-style: decimal;}
udonmai
2012-07-15 22:34:25 +08:00
@Ture Thanks!!! 我找时间试试!!!
udonmai
2012-07-15 22:35:26 +08:00
@cutehalo 原来如此
Ture
2012-07-15 22:51:02 +08:00
prettify的样式如果是最后加载的,list-style会被重写。
结果就是行号只显示5n......
udonmai
2012-07-15 23:00:18 +08:00
@Ture 成功~ 非常感谢~~~ 之前没人回复之后我就没再看这个了。。。
Ture
2012-07-15 23:10:09 +08:00
@udonmai 我也遇到了这个问题,然后在google上搜,发现了你这个帖子。解决之后就过来了
udonmai
2012-07-15 23:13:54 +08:00
@Ture 幸亏阿~~ 否则我不知道会把这个扔到什么时候才突然想起来。。。
alexjavascript
2014-06-28 14:11:30 +08:00
<!DOCTYPE HTML /PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Bootstrap-代码</title>
<meta charset="utf-8">
<link href="../css/bootstrap.min.css" rel="stylesheet">
<link href="../css/google-code-prettify/prettify.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="../js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="../js/bootstrap.js"></script>
<script type="text/javascript" src="../css/google-code-prettify/prettify.js"></script>
<style>li.L0, li.L1, li.L2, li.L3,li.L5, li.L6, li.L7, li.L8{ list-style-type: decimal !important }</style>
<script type="text/javascript">
$(document).ready(function(){
prettyPrint();
})
</script>
</head>

<body>
<div class="container">
<h1 class="page-header">代码<small>&lt;code&gt;与&lt;pre&gt;标签的使用</small></h1>
<p>为<code>&lt;h1&gt;</code>标签添加<code>.page-header</code>,可以为内容添加合适的边距,并且在下方显示一条灰色的边线。</p>
<pre class="prettyprint linenums">
&lt;p&gt;示范文本...&lt;/p&gt;
&lt;p&gt;示范文本...&lt;/p&gt;
&lt;p&gt;示范文本...&lt;/p&gt;
</pre>
</div>
</body>
</html>

楼上说了那么多,都被搞晕了,不知道你们是咋弄的...后来在官方文档(地址: http://google-code-prettify.googlecode.com/svn/trunk/README.html)上看到加上这段话就好了。不过这个解决方案不咋好看。
<style>li.L0, li.L1, li.L2, li.L3,li.L5, li.L6, li.L7, li.L8{ list-style-type: decimal !important }</style>

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/32260

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX