使用css counter来美化代码片段的样式
博客园默认的代码片段样式不太美观,特别是复制代码时会把前面的行号也复制下来,操作起来比较麻烦。最近看到一种使用CSS计数器来美化代码片段的方法,于是研究了一下计数器的使用,在此做个笔记。
这是官网的例子:
body {
counter-reset: section;/*重置section计数器为0,section可以随便命名*/
}
h3:before {
counter-increment: section; /*增加section,默认是1*/
content: "Section " counter(section) ": "; /*显示计数器*/
}
<h3>Introduction</h3>
<h3>Body</h3>
<h3>Conclusion</h3>
显示结果为:

通过上面的例子,css计数器的用法可谓一目了然,那么如何用在代码片段的样式上呢?
博客园的代码片段是通过pre标签来声明的,首先修改该标签的样式:
pre{
counter-reset: linenumber; /*重置名为linenumber的计数器*/
background: #f5f2f0;
tab-size: 4;
position:relative;
}
然后修改行号:
.line-numbers-rows {
display: block;
position: absolute;
pointer - events: none;
top:;
left: -3.8em;
width: 3em;
border-right: 1px solid#999;
user-select: none;
}
.line-numbers-rows>span {
pointer-events: none;
display: block;
counter-increment: linenumber;/*计数器增加*/
}
.line-numbers-rows>span:before {
content: counter(linenumber);
color: #999;
display: block;
padding-right:.8em;
text-align:right
}
最后修改html结构为:
<pre>
<span>代码<span>
<span>代码<span>
<span class="line-numbers-rows">
<span></span><span></span><span></span><span></span>
</span>
</pre>
参考资料:
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Lists_and_Counters/Using_CSS_counters
使用css counter来美化代码片段的样式的更多相关文章
- CSS的50个代码片段
1.css全局 html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a ...
- CSS中编写省略号代码片段
#component-content #dtMain .dt-ul > li .component-item .component-name{ display:inline-block; ...
- sublimetext3中保存代码片段
在日常的开发工作中,不断重复上一次敲过的代码,有时确实感到伐木累."蓝瘦"(难受)."香菇"(想哭),大概表达的也是这样的心境吧!:grinning: 所以,在 ...
- (转)每位设计师都应该拥有的50个CSS代码片段
原文地址:http://www.cnblogs.com/fengyuqing/archive/2013/06/15/css_50.html 面对每年如此多的 新趋势 ,保持行业的领先是个很困难问题. ...
- 很实用的50个CSS代码片段
原文:50 Useful CSS Snippets Every Designer Should Have 面对每年如此多的 新趋势 ,保持行业的率先是个非常困难问题. 站点设计者和前 ...
- 拥有的50个CSS代码片段(上)
1. CSS 重置 ;;;font-size: 100%; font: inherit; vertical-align: baseline; outline: none; -webkit-box-si ...
- 30+有用的CSS代码片段
在一篇文章中收集所有的CSS代码片段几乎是不可能的事情,但是我们这里列出了一些相对于其他的更有用的代码片段,不要被这些代码的长度所吓到,因为它们都很容易实现,并且具有良好的文档.除了那些解决常见的恼人 ...
- HTML/CSS代码片段
内容简介:本文收集了我常用的CSS代码片段! *reset @charset "utf-8"; /* reset */ body, dl, dd, h1, h2, h3, h4, ...
- 一些实用的CSS Media Query代码片段,个人采集
CSS3的出现让响应式Web设计变得简单,CSS3提供了强大的media queries,允许你针对不同的条件设置不同的样式,可以在不修改页面内容的情况下,为不同设备提供不同的样式效果. 以下是一些C ...
随机推荐
- 原生app与js交互 jsSDK设计
var UA = window.navigator.userAgent.toLowerCase()var isIOS = UA && /iphone|ipad|ipod|ios/.te ...
- wireshark过滤数据
Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换.用来获取网络数据封包,包括http,TCP,UDP,等网络协议包.使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码 ...
- 一张图让你学会Python【转】
转自:http://blog.csdn.net/qq_30845505/article/details/51588423 有编程基础的人一看就可以了解 Python 的用法了.真正的 30 分钟上手. ...
- Notepad++ 自动补全,括号自动完成插件,主题和字体设置
Notepad++ 自动补全成对符号http://rabbit52.com/2012/devel/notepad-autocomplete-brackets QuickText 和 Zen Codin ...
- Android大神 博客
https://github.com/yeungeek/awesome-android-person Android大神 受Trinea的开源项目的启发和参考,也准备列一列Android圈里的大神们. ...
- AC日记——仙岛求药 openjude 2727
仙岛求药 思路: bfs: 来,上代码: #include <cstdio> #include <cstring> #include <iostream> #inc ...
- 10.1综合强化刷题 Day2
a[问题描述]你是能看到第一题的 friends呢. —— hja世界上没有什么比卖的这 贵弹丸三还令人绝 ...
- 模型搭建练习2_实现nn模块、optim、two_layer、dynamic_net
用variable实现nn.module import torch from torch.autograd import Variable N, D_in, H, D_out = 64, 1000, ...
- Linux运维:CentOS6和7的区别
Liunx笔记:CentOS6和CentOS7的区别 路飞学城运维人员 在线流程图软件 Ago linux运维群: 93324526 笔者QQ:578843228 常用安装包下载 yum instal ...
- Android Studio 中.android 文件夹移动默认位置
转自 开发工具打造: .android 文件夹移动默认位置 .android 文件夹是用来存放 avd 模拟器文件的文件夹. 因为默认是 C盘 的. 占用空间比较大.很不爽 将它移动到其它盘其实很简单 ...