目录
我对阅读体验的看法
修改代码样式
使用 highlight.js 项目修改博客园的代码主题
修改博客园的样式,使 highlight 正常工作。
最后
参考
首页 web前端 html教程 修改代码主题等,提高阅读体验_html/css_WEB-ITnose

修改代码主题等,提高阅读体验_html/css_WEB-ITnose

Jun 24, 2016 am 11:44 AM

我对阅读体验的看法

在写 单例(Singleton)小记 这篇博文后,习惯性地点击查看浏览了一下,发现即使使用了 markdown ,感觉阅读体验还是有点差,总觉得还差点什么。为什么?主要是因为这篇博文使用了好几个代码例子,并且博客园的默认代码主题样式真的不怎么样。代码例子多了,这篇文章看起来就很单调,阅读体验极差。

阅读体验不好怎么办?对这个问题,不同的人会有不同的应对方法。或许有人将就一下就看下去了。但对于不愿将就的我来说,绝对不能就这样将就一下就算了。如果阅读体验真的很差,一般直接 Ctrl+w 说拜拜直接不看。因为我始终觉得一篇博文最重要的是阅读体验,如果阅读体验差,无论内容多好都会使博文大打折扣。因此,绝不允许自己的文章出现排版差、字体过小、单调等问题出现。

那么怎样才能提高阅读体验呢? 一般的博文最主要的就是排版了,而且排版这个东西真心很烦人,但现在有了 markdown 就不用烦那么多了。直接使用 markdown 来写博文,不需要任何的排版知识都可以轻松写出排版效果极好的博文。而且我们作为程序猿都不用 markdown “语言”这有点说不过吧! 排版解决后还要解决的就是字体。我觉得一篇博文的字体最重要的是字体的大小,用什么字体都不重要,宋体、微软雅黑什么的可以根据自己的喜欢来设(毕竟自己的博文除了给别人看,还要给自己看的,而且看的最多的就是自己了)。至于字体大小设成多大才好呢?个人觉得最好是 14px 到 17px 最佳,我用的是 16px 。排版和字体大小设好了,最后就要设置代码样式,毕竟我们都是程序猿,代码是少不了的^_^。

修改代码样式

当我想修改代码样式时,得出两种解决方案

  1. 代码是在网页上显示的,要修改主题样式,肯定可以用 CSS 来设置。因此可以自己来自定义样式。但它有个缺点,自己来自定义就有重复造轮子的味道了,而且要支持多种语言的高亮,写起来代码量不少,自己又不是专攻前端的。因此可以否定这种做法。
  2. 现在很多网站都有代码高亮,各种漂亮的主题都有。这种热门的轮子一般都会有人创造了。可以拿来就用。而且优点很明显,实现简单高效,并且可以轻松支持各种流行语言的代码高亮。因此优先选择该方案。

那么有什么插件或者库提供这种功能呢?呃。。第一次搞没经验,不知道~~ 唯有求助 Google 大神。简单得搜索 code highlight,第一条直接出现了 highlight.js。看名字就猜到应该是它。点进去了解后确定它就是我们要找的插件。(可能还有其他的插件,由于个人习惯一般选择 Google 搜索排前的)

使用 highlight.js 项目修改博客园的代码主题

好,废话了那么多,终于进入主题了。^_^

highlight.js 的用法,相信看了官方教程后大家都会了(做前端不用看教程都会了~~),因此在这只是简单的讲讲用法。官方主要提供了两种安装方法:

  1. 在官网自定义需要的组件后,下载项目并把它用在自己的项目里。
  2. 在 CDN 有包含 22 中常用语言的在线版。可以直接引用。

本人用的第二种方法。因此,我们只需简单地把下面的代码用在博客园的设置页面的页首Html代码(或者页脚Html代码):

<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.5/styles/default.min.css">
登录后复制

上面的代码有一点需要注意的是,default.min.css 表示我们要使用默认的代码高亮主题。你可以修改这个名字来更换其他的主题。要想知道有哪些主题以及它们的主题名,可以看官方展示。比如我使用的是 monokai_sublime 主题。因此我引人 CSS 的代码如下:

<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/8.5/styles/monokai_sublime.min.css">
登录后复制

官方里还有一行是引入 javascript 代码的,但是我们这里只需要它的 CSS 代码。(它的js代码里有根据代码来检测代码是属于哪种语言的功能,但我一般喜欢使用 ` ` ` java ` ` ` 这种形式来设置语言所属,而且官方有提到自动检测不总是成功的。因此这里我不用 js 代码。)

以上就是使用 highlight.js 项目实现代码高亮,简单吧?不过,还没结束~~(现在不用急着扔鸡蛋~~ highlight 的使用就是这么简单,这里的转折是因为它与博客园样式冲突了)

修改博客园的样式,使 highlight 正常工作。

我们使用正确使用了 highlight 了,但是我们还要修改下博客园的样式来完美地显示 highlight 样式。博客园给每个用户都提供了一个叫 blog-common.css 的样式,里面包含了代码主题的样式。要使我们的 highlight 样式完美地显示,我们要把 blog-common.css 里的代码主题样式删掉。但是这里有个问题:blog-common.css 是博客园提供给我们的,我们无法修改它的代码,如何才能删掉它里面的代码呢?

经过片刻的思考后,发现只能把整个文件都删掉才能实现删除它里面的代码,但这个文件里还有其他的样式是我想要的,怎么办? 经典作弊手法: copy --> 改。所谓的 copy --> 改 就是把 blog-common.css 的代码复制得到我们的 页面定制CSS代码 里然后修改(删除我们不要的,要至于删那些样式,我们可以用查看元素来查看那些样式是代码高亮的样式,然后把它们删掉,相信大家都懂的了,在此不累赘)。最后把 blog-common.css 删掉。

在页首 Html 代码或者页脚 Html 代码 里添加删除 blog-common.css 的代码(需要 js 权限):

<script>document.getElementsByTagName("link")[0].remove()</script>
登录后复制

好,现在 highlight 样式就可以完美地显示了。 enjoy !

最后

我同样不太喜欢默认的引用样式,因此添加上我的 markdown 引用的样式,喜欢的人可以拿去:

blockquote {    background-color: rgba(102, 128, 153, 0.05);    color: #5F5656;    margin-left: 25px;    padding: 5px 10px;    margin-top: 10px;    margin-bottom: 10px;    border-left: 5px solid #352D2D;}
登录后复制

最后,希望这篇文章能够帮助那些注重阅读体验的朋友,给大家带来惊喜!

参考

参考?一直坚持给出参考文章,希望能提供读者一些扩展阅读和体验解决问题的过程。但这篇没参考到什么文件,全文都是自己”瞎逼逼“出来的,并没有什么权威的参考。因此,如果你发现了 bug 或者有更好的方法,可以在评论里共享出来^_^ 。

(PS. 最近要好好看书准备找暑假实习了,因此博客的更新频率可能会比较低~~。好吧,偏离原计划了~~ ----成长记录)

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

HTML容易为初学者学习吗? HTML容易为初学者学习吗? Apr 07, 2025 am 12:11 AM

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

HTML,CSS和JavaScript的角色:核心职责 HTML,CSS和JavaScript的角色:核心职责 Apr 08, 2025 pm 07:05 PM

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

HTML中起始标签的示例是什么? HTML中起始标签的示例是什么? Apr 06, 2025 am 12:04 AM

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

了解HTML,CSS和JavaScript:初学者指南 了解HTML,CSS和JavaScript:初学者指南 Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

网页批注如何实现Y轴位置的自适应布局? 网页批注如何实现Y轴位置的自适应布局? Apr 04, 2025 pm 11:30 PM

网页批注功能的Y轴位置自适应算法本文将探讨如何实现类似Word文档的批注功能,特别是如何处理批注之间的间�...

Gitee Pages静态网站部署失败:单个文件404错误如何排查和解决? Gitee Pages静态网站部署失败:单个文件404错误如何排查和解决? Apr 04, 2025 pm 11:54 PM

GiteePages静态网站部署失败:404错误排查与解决在使用Gitee...

如何用CSS3和JavaScript实现图片点击后周围图片散开并放大效果? 如何用CSS3和JavaScript实现图片点击后周围图片散开并放大效果? Apr 05, 2025 am 06:15 AM

实现图片点击后周围图片散开并放大效果许多网页设计中,需要实现一种交互效果:点击某张图片,使其周围的...

HTML,CSS和JavaScript:Web开发人员的基本工具 HTML,CSS和JavaScript:Web开发人员的基本工具 Apr 09, 2025 am 12:12 AM

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

See all articles