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 属性
![Title](img.jpg) -----> <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进行层次格式化(如下图所示),而这个格式让我老大实 ...
随机推荐
- led模组的优点和却点
插件模组 1.是指DIP封装的灯将灯脚穿过PCB板,经由过程焊接将锡灌满在灯孔内,由这种工艺做成的LED模组便是插灯模组:益处是视角年夜,亮度高,散热好:谬误舛错是像素密度小. 表贴模组 1.表贴也叫 ...
- Java基础二
1 关键字 定义:被java语言赋予了特殊含义的单词. 特点:关键字中的所有字母都为小写. 用于定义数据类型的关键字 class.interface.byte.short.int.long.float ...
- mysql存储过程查询结果循环遍历 判断 赋值 游标等基本操作
一.首先说下本篇博客所实现功能的背景和功能是怎样的: 背景:因为公司项目开始迁移新平台项目,所以以前的平台老数据以及订单信息需要拆分表,而且需要业务逻辑来分析以前的订单表,来拆分成另外的几个新表,包括 ...
- SSH:Action中Service无法实例化
原来的代码: MailAction: public class MailAction extends ActionSupport { private SysuserinfoService sysuse ...
- Oracle03——游标、异常、存储过程、存储函数、触发器和Java代码访问Oracle对象
作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7476717.html 1.游标(光标)Cursor 在写java程序中有集合的概念,那么 ...
- Linux上Oracle自动启停方案
环境 CentOS 6 x86_64, Oracle 11g R2 方案 Oracle在$ORACLE_HOME/bin目录下提供了dbstart和dbshut两个脚本来启动和停止Oracle.d ...
- RPC框架实现思路浅析
第一部分,设计分析 远程调用要解决的主要问题: 1,序列化 : 如何将对象转化为二进制数据进行传输,如何将二进制数据转化对象 2,数据的传输(协议,第三方框架) 3,服务的注册/发现,单点故障,分布式 ...
- Python内存优化
实际项目中,pythoner更加关注的是Python的性能问题,之前也写过一篇文章<Python性能优化>介绍Python性能优化的一些方法.而本文,关注的是Python的内存优化,一般说 ...
- js中bind、call、apply函数的用法 (转载)
最近看了一篇不错的有关js的文章,转载过来收藏先!!! 最近一直在用 js 写游戏服务器,我也接触 js 时间不长,大学的时候用 js 做过一个 H3C 的 web 的项目,然后在腾讯实习的时候用 j ...
- 初学者入门web前端:C#基础知识:函数
入行前端对函数的掌握程度有可能直接影响以后工作的效率,使用函数可以高效的编写编码,节省时间,所以我整理了C#中最基础的函数知识点,虽然我在学习中 遇到很多问题,但是只要能够解决这些问题,都是好的. 一 ...