#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 */
}

虽然需要一个一个比对,还要考虑优先级,很麻烦,但也没有比较好的解决办法。

不过倒是有个可以不用考虑优先级的办法:

  1. 把主题的CSS文件提取出来

    右键审查元素,就可以在样式栏里找到链接打开,比如我的主题是BlackLowKey,链接就像这样

  2. 在博客后台选中禁用模板默认CSS
  3. 把默认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.cssjquery.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 填入图片的 srctitle 填入图片的 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的一些黑科技的更多相关文章

  1. 聊聊H5与JS近几年的黑科技

    聊聊H5与JS近几年的黑科技 自ajax技术的诞生,编程界兴起了一股WEB开发热,facebook,Twitter等众多大佬级企业都在网页应用上大放异彩,这十年我们见证了前端技术的崛起.这期间产生了众 ...

  2. 【JS】JS以及CSS对页面的阻塞

    一.JS阻塞 所有的浏览器在下载JS文件的时候,会阻塞页面上的其他活动,包括其他资源的下载以及页面内容的呈现等等,只有当JS下载.解析.执行完,才会进行后面的 操作.在现代的浏览器中CSS资源和图片i ...

  3. JS以及CSS对页面的阻塞

    一.JS阻塞 所有的浏览器在下载JS文件的时候,会阻塞页面上的其他活动,包括其他资源的下载以及页面内容的呈现等等,只有当JS下载.解析.执行完,才会进行后面的 操作.在现代的浏览器中CSS资源和图片i ...

  4. js,jquery,css,html5特效

    包含js,jquery,css,html5特效,源代码 本文地址:http://www.cnblogs.com/roucheng/p/texiao.html 2017新年快乐特效 jQuery最新最全 ...

  5. Webpack中hash与chunkhash的区别,以及js与css的hash指纹解耦方案

    文件的hash指纹通常作为前端静态资源实现增量更新的方案之一,Webpack是目前最流行的开源编译工具之一,其强大的功能也带来很多坑(当然,大部分麻烦其实都可以在官方文档中找到答案). 比如,在Web ...

  6. [转][前端优化]使用Combres合并对js、css文件的请求

    本文转自:http://www.cnblogs.com/parry/archive/2011/01/28/Reduce_Http_Request_Using_Combres_For_Js_Css.ht ...

  7. 引入js和css文件的总结

    1.用script标签引入javascript时,浏览器对于javascript的加载某些是并行的,某些是串行的,如IE8,Chorme2和firefox3都是串行加载的. 2.charset编码也就 ...

  8. 原生JS、CSS实现的转盘效果(目前仅支持webkit)

    这是一个原生JS.CSS实现的转盘效果(题目在这:http://www.cnblogs.com/arfeizhang/p/turntable.html),花了半个小时左右,准备睡觉,所以先贴一段代码, ...

  9. 简短的几句js实现css压缩和反压缩功能

    写在前面 最近一直在整理css,但因为现在Visual Studio 2013太智能了,它每每在我按ctrl+E+D进行格式化代码的时候,就会将css进行层次格式化(如下图所示),而这个格式让我老大实 ...

随机推荐

  1. 火币网现货API[Python3版]

    火币 期货 现货 API [Python3版] 一.Util.py,基础类,包括参数配置.签名,HTTP 请求方法,发送信息到API #coding=utf-8 import hashlib impo ...

  2. 关于Eclipse启动报错,jvm版本不匹配的问题

    前几天重新下了个eclipse,eclipse需要java环境才能运行起来,我当时电脑上自己装了jdk1.8,然后直接运行新下载的eclipse,说我的jvm版本是1.6,但是我不记得安装过1.6的了 ...

  3. 在Linux 环境下搭建 JDK 和 Tomcat

      在Linux 环境下搭建 JDK 和 Tomcat 参考地址:http://www.cnblogs.com/liulinghua90/p/4661424.html   [JDK安装] 1.首先下载 ...

  4. jvm系列 (五) ---类加载机制

    类的加载机制 目录 jvm系列(一):jvm内存区域与溢出 jvm系列(二):垃圾收集器与内存分配策略 jvm系列(三):锁的优化 jvm系列 (四) ---强.软.弱.虚引用 我的博客目录 什么是类 ...

  5. servlet 返回json 数据

    后端的数据需要返回简单的json数据: 发现通过双引号和单引号:" {  'name':123 }  "的方式返回失败. 需要通过\转义里边的双引号: response.getWr ...

  6. CCNA+NP学习笔记—序章

    本人就读于南京捷式泰网络科技有限公司学习CCIE,这几天准备将多年来的纸质版笔记全部写成电子版献给大家以留下自己学习的足迹.本章是基础篇章,内容较少,主要为之后的内容做铺垫.所有笔记的分类顺序为:序章 ...

  7. Brotli、Deflate、Zopfli、LZMA、LZHAM、Bzip2六种无损数据压缩性能比较

    这里比较了六种数据压缩算法,结果表明Brotli算法会代替普遍使用的Deflate算法.分别用Canterbury compression corpus,web contentcorpus,和 enw ...

  8. 扫雷游戏制作过程(C#描述):第四节、菜单操作

    前言 这里给出教程原文地址. 该项目已经放在github上托管. 菜单操作 我们现在的程序单击菜单的时候不会有任何反应,这一节我们主要介绍菜单的相关代码,使得菜单能够正常使用. 现在我们希望在对应级别 ...

  9. 201521123005 《java程序设计》 第七周学习总结

    1. 本周学习总结 参考资料: XMind 2. 书面作业 Q1ArrayList代码分析 1.1 解释ArrayList的contains源代码 ArrayList的contains源代码 /** ...

  10. 201521123028《Java程序设计》第4周学习总结

    1. 本周学习总结 2. 书面作业 Q1.注释的应用 使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看. 对上周PTA的实验5-3中的矩形和圆形类做注释. Q2.面向对象 ...