Cnblogs关于嵌入js和css的一些黑科技
#pong .spoiler{
cursor:none;
display:inline-block;
line-height:1.5;
}
sup{
cursor:help;
color:#3BA03B;
}
Pong!
模仿了Steam论坛的 [spoiler] 标签之后利用这里的代码实现的一个小游戏,由CSS驱动。
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]
从第一次发博客开始,我就一直在研究界面美化,毕竟我也是个强迫症和完美主义者,可以说在界面风格上有着近乎疯狂的执着,所以花了大量时间来想办法把界面弄得 有逼格 美观一些。
我一开始用的模板是BlackLowKey,就是这个

当时看了感觉不错,低调而不失内涵啊,很符合我的性格,就决定是你了。
不过真正用起来才发现,还是挺丑的……不过也没办法,我看主题列表里都是满含年代感的主题,也就这个好些,看来只能动点大手术了。
980px太窄了,改掉
标题样式不好看,换掉
简介里摘要两个字太碍眼了,去掉
阅读全文也是,一点用没有,去掉
……
……
还有很多就不具体说了,总之最后就成了现在你们看到的这个样子,嗯,还算满意。不过美化是不会停下的,以后还会改得更适合我喜欢的风格。
回到主题,在改造的过程中我也有意无意的研究了一些黑科技,这里就分享一下。不过说是黑科技,其实也不是很高深的东西,只是我没见别人的博客用过,而且感觉用在这里会很有意思。
这里所有代码都只在Chrome测试过,并没有做浏览器适配……
目录?
Markdown
Markdown是整个改造中最费事的地方,原来的Markdown样式简直不忍直视,所以我打算完全照用GitHub的样式。
使用的Markdown编辑器:Editor.md
CSS样式:github-markdown.css (不过这个好像还是和Github的样式有点出入,打算以后直接提取GitHub的CSS)
把整个CSS复制到博客后台的页面定制CSS代码里。当然在这之前要做一些改动。
这里先把原理写上,过一段时间我会写个JS嵌入来处理这些改动。
选择器
- GitHub的Markdown根节点的class是markdown-body,而博客园的是cnblogs-markdown,所以要把CSS里所有的
.markdown-body都替换为.cnblogs-markdown。 - 这还不算完,博客园里的这个根节点还有一个id属性,叫cnblogs_post_body,而CSS里id选择器的优先级是高于class选择器的,所以刚才的很多样式都被博客园默认CSS里的
#cnblogs_post_body选择器里的样式给覆盖了。解决办法就是在每个Markdown的选择器前面加上#cnblogs_post_body选择器,强行覆盖过去。
不过也正因为id选择器的优先级高于class选择器,所以第一步可以不用做,直接做第二步就可以了。[spoiler]那为什么还写出来呢[/spoiler]
理论上来说.markdown-body选择器是不用保留的,但我这么做会出问题,有待研究。
.markdown-body a {
background-color: transparent;
}
#cnblogs_post_body a, /* 加上这一行*/
.markdown-body a {
background-color: transparent;
}
因为每添加一个选择器都要包含后面的选择器(比如上面的a),所以最好写个小程序或者脚本来处理。
优先级
有那么一会我在调一个样式,但是发现,明明已经位于最顶级的选择器了,还是无论怎么改都会被覆盖掉,就像这样

折腾了很久,最后仔细看才发现,在博客园默认CSS里,这个样式后面加上了 !important ,查了一下是代表了最高优先级,坑啊!!
后来看了一下,默认CSS里 .code 类的样式基本都有 !important,所以把自定义CSS里 .code 下的所有行都加上 !important 就行了。
整合
虽然现在Markdown的CSS可以正确地覆盖默认CSS了,但还有一个问题需要解决,就是默认CSS里会多出一些样式。
比如默认CSS里有一个
.xxx {
margin: 10px;
padding: 10px;
}
而我的自定义CSS里原先没有定义 padding 这个样式,所以就加上一个取消该样式的语句,就像这样
.xxx {
margin: 5px;
padding: 0; /* 或者 inherit */
}
虽然需要一个一个比对,还要考虑优先级,很麻烦,但也没有比较好的解决办法。
不过倒是有个可以不用考虑优先级的办法:
- 把主题的CSS文件提取出来
右键审查元素,就可以在样式栏里找到链接打开,比如我的主题是BlackLowKey,链接就像这样

- 在博客后台选中禁用模板默认CSS
- 把默认CSS和自定义CSS整合到一起
整合的时候,先把所有主题代码插入到自定义CSS的前面,然后就可以把不需要的样式语句直接删掉了。比如上面的例子,不用再加padding: 0;了,而是直接删掉padding: 10px;。
代码高亮
博客园和GitHub的Markdown解析器不一样,生成出来高亮部分的划分和类名都不一样,所以还需要做一些替换,下面是我目前已经找到的类名对应表。
| Cnblogs | GitHub | 说明 |
|---|---|---|
| .hljs-keyword | .pl-k | 关键字 |
| .hljs-title | .pl-en | 函数声明 |
| .hljs-params | .pl-v | 参数(博客园里包括参数的类型) |
| .hljs-string | .pl-s | 字符串 |
| .hljs-number | .pl-c1 | 数字 |
| .hljs-comment | .pl-c | 注释 |
| .hljs-built_in | .pl-c1 | 内置(对象?)例如document |
| .hljs-name | .pl-ent | HTML标签名 |
| .hljs-attr | .pl-e | HTML标签的属性 |
| .hljs-selector-class | .pl-e | CSS的类选择器 |
| .hljs-selector-tag | .pl-ent | CSS的标签选择器 |
| .hljs-attribute .dt |
.pl-c1 | CSS的属性和值 |
| .at | .pl-en | JS函数调用 |
| .fu | 无 | Java函数调用 |
ImgBox(查看大图)
查看大图是个很实用的功能,有时候文章里的图太大了,显示出来就会被缩小,想查看大图的话就得右键打开,比较麻烦,这时候查看大图就派上用场了,点一下图片直接在当前页面显示完整图片,无需跳转。
使用的库:jQuery Plugin - imgBox (博客园自带jQuery)
可能由于年代太久远了,这个库还有点小问题,需要做一个改动
// jquery.imgbox.js #51
nr = jQuery.data(elem[0]); // 这里改为 nr = jQuery.data(elem[0]).nr;
上传
首先要在博客后台申请JS权限,如果没有权限的话在后台HTML代码那里嵌入js是无效的。
[spoiler]我申请理由写的是想在公告栏显示一个时钟- -[/spoiler]
把imgBox下载下来,里面只有 imgbox.css 和 jquery.imgbox.js 是我们需要的。
imgbox.css里引用了一些图片文件,通常情况下要把这些图片都上传,然后修改里面的url,但是比较麻烦,而且博客园的文件不能分层,不好管理。
而还好这些图片都很小,所以我把它们转成base64嵌入到CSS里面了,你可以直接下载使用我的文件,链接在下面。
将这两个文件上传到博客文件里,然后就可以在博客后台的页首或页脚HTML代码里嵌入它们了。
<link rel="stylesheet" href="https://files.cnblogs.com/files/plab/imgbox.css"/>
<script src="https://files.cnblogs.com/files/plab/jquery.imgbox3.js"></script>
使用
按照作者页面的使用方法,需要在 <img> 外边包围一个 <a> 标签,弹出时 <a> 的 title 属性会显示在图片下方
<a title="Title" href="big_image.jpg"><img src="thumb.jpg" alt="" /></a>
而Markdown生成的图片会带有 alt 属性
 -----> <img src="img.jpg" alt="Title">
所以可以用JS来为每个图片添加 <a> 标签,并在其 href 填入图片的 src , title 填入图片的 alt
$('#cnblogs_post_body img').each(function() {
var thiz = $(this);
var a = $('<a title="' + (thiz.attr('alt') || '') + '" href="' + thiz.attr('src') + '"></a>');
thiz.wrap(a).parent().imgbox();
});
还可以给加上放大镜的光标
thiz.css('cursor', 'zoom-in');
再加上一些设置,最后的完整代码
function setupImgbox() {
if ($.imgbox) {
$.extend($.fn.imgbox.defaults, {
allowMultiple: false,
speedIn: 0,
speedOut: 0,
overlayShow: true
});
$('#cnblogs_post_body img').each(function() {
var thiz = $(this);
var a = $('<a title="' + (thiz.attr('alt') || '') + '" href="' + thiz.attr('src') + '"></a>');
thiz.wrap(a).parent().imgbox().css('cursor', 'zoom-in');
});
}
}
效果
图片标题有时候会莫名其妙地消失掉,这个问题还在研究中。

[spoiler] 标签
前段时间混迹于Steam论坛,里面经常会用这个标签来表示一些剧透信息或者不想让别人一眼就看到的话,就像[spoiler]这样[/spoiler]。
还有萌娘百科也在用,不过把这个叫做“黑幕”。
这个标签对于丰富文本风格很有用,还可以表达一些通常情况下无法表达的意思,所以我就决定把这个功能搬到这边来了。
实现
其实特别简单,只要加上CSS样式就行了
.spoiler {
color: #000;
background-color: #000;
}
.spoiler:hover {
color: #FFF;
}
然后在需要的地方写上
<span class="spoiler">yoooooooooo</spoiler>
不过,为了方便使用,我写了一点JS来支持Steam上的写法: [spoiler]删除文本[/spoiler]
function setupSpoiler() {
var postBody = $('#cnblogs_post_body');
if(postBody.length !== 0)
postBody.html(postBody.html().replace(/\[spoiler\]/g, '<span class="spoiler">').replace(/\[\/spoiler\]/g, '</span>'));
}
Pong!
这里附上上面小游戏的代码,设置好JS代码后直接放到文章里就可以了,如果有空隙的话可以调整一下 line-height 。Markdown代码块没有复制功能还是比较难受的,回头研究一个。
<style>
#pong .spoiler {
cursor: none;
display: inline-block;
line-height: 1.5;
}
</style>
<p id="pong">[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]<br>
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]<br>
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]<br>
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]<br>
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]<br>
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]<br>
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]<br>
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]<br>
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]<br>
[spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler] ▌[/spoiler]</p>
Cnblogs关于嵌入js和css的一些黑科技的更多相关文章
- 聊聊H5与JS近几年的黑科技
聊聊H5与JS近几年的黑科技 自ajax技术的诞生,编程界兴起了一股WEB开发热,facebook,Twitter等众多大佬级企业都在网页应用上大放异彩,这十年我们见证了前端技术的崛起.这期间产生了众 ...
- 【JS】JS以及CSS对页面的阻塞
一.JS阻塞 所有的浏览器在下载JS文件的时候,会阻塞页面上的其他活动,包括其他资源的下载以及页面内容的呈现等等,只有当JS下载.解析.执行完,才会进行后面的 操作.在现代的浏览器中CSS资源和图片i ...
- JS以及CSS对页面的阻塞
一.JS阻塞 所有的浏览器在下载JS文件的时候,会阻塞页面上的其他活动,包括其他资源的下载以及页面内容的呈现等等,只有当JS下载.解析.执行完,才会进行后面的 操作.在现代的浏览器中CSS资源和图片i ...
- js,jquery,css,html5特效
包含js,jquery,css,html5特效,源代码 本文地址:http://www.cnblogs.com/roucheng/p/texiao.html 2017新年快乐特效 jQuery最新最全 ...
- Webpack中hash与chunkhash的区别,以及js与css的hash指纹解耦方案
文件的hash指纹通常作为前端静态资源实现增量更新的方案之一,Webpack是目前最流行的开源编译工具之一,其强大的功能也带来很多坑(当然,大部分麻烦其实都可以在官方文档中找到答案). 比如,在Web ...
- [转][前端优化]使用Combres合并对js、css文件的请求
本文转自:http://www.cnblogs.com/parry/archive/2011/01/28/Reduce_Http_Request_Using_Combres_For_Js_Css.ht ...
- 引入js和css文件的总结
1.用script标签引入javascript时,浏览器对于javascript的加载某些是并行的,某些是串行的,如IE8,Chorme2和firefox3都是串行加载的. 2.charset编码也就 ...
- 原生JS、CSS实现的转盘效果(目前仅支持webkit)
这是一个原生JS.CSS实现的转盘效果(题目在这:http://www.cnblogs.com/arfeizhang/p/turntable.html),花了半个小时左右,准备睡觉,所以先贴一段代码, ...
- 简短的几句js实现css压缩和反压缩功能
写在前面 最近一直在整理css,但因为现在Visual Studio 2013太智能了,它每每在我按ctrl+E+D进行格式化代码的时候,就会将css进行层次格式化(如下图所示),而这个格式让我老大实 ...
随机推荐
- emacs命令记录
C-代表按住Ctrl键 M-代表按住Alt键,也可以用按一下ESC放开代替 最先要记住的 M-x <cmd> 输入指令执行,在输入时用Tab可以自动补全或列出项目 C-g ...
- 如何使用 flannel host-gw backend?- 每天5分钟玩转 Docker 容器技术(62)
flannel 支持多种 backend,前面我们讨论的是 vxlan,host-gw 是 flannel 的另一个 backend,本节会将前面的 vxlan backend 切换成 host-gw ...
- 电源库(Sources)
- hdu5673 Robot 卡特兰数 / 默慈金数
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5673 分析: 这道题是一道裸的默慈金数,比较容易想到的是用卡特兰数来做.不了解的可以先学习一下. 卡特 ...
- Python学习笔记之运算符之一
算数运算符 +加法运算符 -减法运算符 *乘法运算符 /除法运算符 //整除运算符 **乘积运算符(幂运算符) %取模运算符(取余) #!/usr/bin/python # -*- coding: U ...
- [2014-09-18]Entity Framework 6 预热、启动优化
好久没写博客了,终于憋出了一个大招,现在总结下. 虽然文章题目是针对EF的,但涉及的内容不仅仅是EF. 场景介绍 目前在做的一个项目,行业门户,项目部分站点按域名划分如下: user.xxx.com: ...
- VS2013禁用Browser Link
禁用原因 VS2013新增的Browser Link功能虽然“强大”,但我并不需要. 但默认是开启的,会在页面中自动添加如下的代码,查看AJAX时造成很大的干扰. <!-- Visual Stu ...
- python利用urllib实现的爬取京东网站商品图片的爬虫
本例程使用urlib实现的,基于python2.7版本,采用beautifulsoup进行网页分析,没有第三方库的应该安装上之后才能运行,我用的IDE是pycharm,闲话少说,直接上代码! # -* ...
- Oracle之range,hash,list分区现实应用及优缺点汇总
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp51 [align=center;] Oracle之range,hash,l ...
- javascript this对象
函数运行时,自动生成的一个内部对象,只能在函数内部使用 随着函数使用场合的不同,this的值也发生着改变,但是有一个总原则:this指的是调用函数的那个对象(核心) this对象的指向 一般情况下,我 ...