利用Md2all的自定义CSS,给Markdown一个漂亮的排版
Md2All 简介
Md2All是Markdown的排版利器,支持 “一键排版” 、自定义CSS和80多种代码高亮。
能让Markdown内容,无需作任何调整就能一键复制到微信公众号、博客园、掘金、知乎、CSDN、51cto、wordpress、hexo。。。等平台(亲测有效)。
除此之外,还有以下优点:
- 支持把图片自动上传到云图床;
- 支持Latex数学公式在公众号等平台完美显示;
- 支持生成带样式的html文件;
- 甚至支持直接用原生的html,css排版。
Md2All的遗憾
只不过,很遗憾的是Md2All官网(http://md.aclickall.com/)提供的模板样式都不能让我满意。
但Md2All很人性化,支持自定义CSS——程序员最喜欢的就是这个:如果你长得不够漂亮,我可以给你做个手术啊,保证人见人爱!
琢磨了很久,终于琢磨出来了一个我自己很满意的自定义CSS(纯洁的微笑「我的标杆」竟然也看上了我这套排版),所以我决定分享出来。
先上代码(你可以直接复制拿走,或者在此基础上改改):
/*可任意修改样式,或恢复预设值,保存后生效
相对“默认样式”而作的修改会用 红色 标注*/.output_wrapper/*此属性为全局*/
{font-size: 16px;color: #3e3e3e;line-height: 1.6;word-spacing:0px; letter-spacing:1px;font-family: "Helvetica Neue",Helvetica,"Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
}
.output_wrapper *
{font-size: inherit ;color: inherit;line-height: inherit;margin:0px;padding:0px;
}p {/*段落*/margin: 1.5em 0px;padding-left:1em;padding-right:1em;
}
h1,h2,h3,h4,h5,h6 {margin: 1.5em 0px;font-weight:bold;color:#159957; /*改变了其默认的标题颜色*/text-align: center; /*改变了其默认值,使其标题居中*/
}
h1 {font-size: 1.6em ;}
h2 {font-size: 1.4em;
}
h3 {font-size: 1.3em;
}
h4 {font-size: 1.2em;
}
h5 {font-size: 1em;
}
h6 {font-size: 1em;
}ul, ol {padding-left: 32px;
}
ul{ /*无序列表*/list-style-type: disc;
}
ol { /*有序列表*/list-style-type: decimal;
}
li *
{/* color: #3e3e3e;*/
} li{ /*在公众号下,改变不了li符号的属性(如颜色),并会影响其子元素的属性;而在其它博客平台中,则能正常使用*/ margin-bottom: 0.5em;
/* color:#159957; */
}
.code_size_default /*代码块默认size*/
{line-height: 18px;font-size: 14px; font-weight:normal;word-spacing:0px; letter-spacing:0px;
}
.code_size_tight /*代码块紧凑size*/
{line-height: 15px; font-size: 14px; font-weight:normal;word-spacing:-3px; letter-spacing:0px;
}
pre code /*代码块*/
{ font-family: Consolas, Inconsolata, Courier, monospace;border-radius: 0px;
}
blockquote { /*引用块*/display: block;padding: 15px 1rem;font-size: 0.9em;padding-right: 15px;margin: 1em 0;color: #819198;border-left: 6px solid #dce6f0;background: #f2f7fb;overflow: auto;overflow-scrolling: touch; word-wrap: normal;word-break: normal;
}
blockquote p {margin: 0px;
}a { /*超链接*/text-decoration: none;color: #1e6bb8;word-wrap:break-word;
}strong /*强调*/
{font-weight: bold;
}
em /*斜体*/
{font-style:italic;
}
del /*删除线*/
{font-style:italic;
}
strong em/*强调的斜体*/
{font-weight: bold;
}hr { /*分隔线*/height: 1px;margin: 1.5rem 0px;border: none;border-top: 1px dashed #A5A5A5;
}code /*行内代码*/
{word-break:break-all;word-wrap: break-word;padding: 2px 4px;border-radius: 4px;margin:0 2px;background:#f8f8f8;font-size: 14px;font-weight:normal;
}
img
{display: block;margin:0 auto; /*图片水平居中*//* margin:0 0; */ /*图片水平居左,如需要请打开*/max-width:100%;
}
figcaption/*图片描述文字*/
{margin-top:10px;text-align:center;/* text-align:left; */ /*当图片水平居左时,请打开*/color:#999;font-size: 0.7em;
}/*================表格开始================*/
table
{display:table;width: 100% ;text-align: left;
}
tbody {border: 0;
}table tr {border: 0;border-top: 1px solid #CCC;background-color: white;}/*隔行改变行的背景色,如需要请打开*/
/*
table tr:nth-child(2n) {background-color: #F8F8F8;
}
*/table tr th, table tr td {font-size: 1em;border: 1px solid #CCC;padding: 0.5em 1em;text-align: left;
}
/*表头的属性*/
table tr th {font-weight: bold;background-color: #F0F0F0;
}
/*================表格结束================*//*================数学公式开始================*/
.katex-display {/*块公式*/font-size:1.22em;
}
.katex
{/*行内公式*/padding:8px 3px;
}
.katex-display > .katex
{/*块公式*/display:inline-block;text-align:center;padding:3px;
}
.katex img
{/*行内公式对应的图片*/display:inline-block;vertical-align:middle;
}
/*================数学公式结束================*/a[href^="#"] sup
{/*注脚*/vertical-align:super;margin:0 2px; padding:1px 3px; color: #ffffff;background:#666666;font-size:0.7em;
}/*================任务列表开始================*/
.task-list-list {list-style-type: none;
}
.task-list-list.checked {/*已完成*/color: #3e3e3e;
}.task-list-list.uncheck {/*未完成*/color: #bfc1bf;
}
.task-list-list .icon_uncheck, .task-list-list .icon_check {display: inline-block;vertical-align: middle;margin-right: 10px;
}
.task-list-list .icon_check:before
{/*已完成*/content: "√";border: 2px solid #3e3e3e;color:red;
}
.task-list-list .icon_uncheck:before
{/*未完成*/content: "x";border: 2px solid #bfc1bf;color: #bfc1bf;
}
.task-list-list .icon_check:before, .task-list-list .icon_uncheck:before
{/*标志框*/padding:2px;padding-left: 5px;padding-right: 8px;border-radius:5px;
}
/*================任务列表结束================*/.toc
{/*总目录*/margin-left:25px;
}
.toc_item
{/*每条目录*/display:block;}
.toc_left
{/*每级目录的缩进*/margin-left:25px;
}
其中有几个关键的点,我们来详细解释一下。
1)支持微信公众号的两端缩进。
将p元素的padding-left
和padding-right
设置为1em
(em是弹性布局单位,可根据页面基础的font-size
「一般来自body元素」来计算实际需要的像素「px」单位)。具体示例如下:
p {/*段落*/margin: 1.5em 0px;padding-left:1em;padding-right:1em;
}
2)支持微信公众号的文字间距。
letter-spacing
表示文字之间的间距,暂定为1px。具体示例如下:
.output_wrapper/*此属性为全局*/
{font-size: 16px;color: #3e3e3e;line-height: 1.6;word-spacing:0px; letter-spacing:1px;font-family: "Helvetica Neue",Helvetica,"Hiragino Sans GB","Microsoft YaHei",Arial,sans-serif;
}
建议:由于手机屏幕越来越大,文字的基础大小不需要再设置为15px了,需要换成更大一点的16px,人们阅读起来会更轻松一点。(所以设置全局的文字大小为font-size: 16px;
)
3)支持行内代码换行。
一般情况下,中文会自动换行;但很多英文在一起的时候,文字间距会莫名其妙地增大,并且换行不及时。
怎么解决呢?需要在行内代码上加上word-break:break-all;
(不仅中文换行,英文该换行也换行)。具体示例如下:
code /*行内代码*/
{word-break:break-all;word-wrap: break-word;padding: 2px 4px;border-radius: 4px;margin:0 2px;background:#f8f8f8;font-size: 14px;font-weight:normal;
}
需要注意的是,行内代码一定要使用反“``”包裹起来,例如:System.out.println("沉默王二不赞成996;996压榨人性,是效率低下的代表,就像回到农耕时代一样,日出而作,日落而息;效率才是解决问题的王道——可以坐飞机,别再骑马熬时间了!")
漂亮的排版
自定义CSS后的排版效果如下:
感觉排版怎么样?
适当的宣传
PS:欢迎关注「沉默王二」公众号,后台回复关键字「2048」,即可免费获取「1W+程序员领取的进阶必读资料包」!!
利用Md2all的自定义CSS,给Markdown一个漂亮的排版相关推荐
- html中各种js效果图,HTML+CSS+JS制作一个漂亮的橙子动态时钟
HTML+CSS+JS制作一个漂亮的橙子动态时钟 1. 效果图: 2. 背景产生: 利用四块与圆同高的矩形转一定的角度将圆切分成八块形成橙子内里,利用径向渐变形成橙皮. background: rad ...
- Web 利用纯html和css画出一个android机器人
Android机器人 这个小项目是为了熟悉border-radius 圆角边框 参考文档 border-radius 源代码 <style>.robot{width: 500px;heig ...
- 用HTML+CSS+JS做一个漂亮的个人网页
个人网页设计 个人网页(html+css+js)--带背景音乐.樱花飘落效果 页面美观,样式丰富 可以根据自己需求进行修改 源码在这里获取https://download.csdn.net/downl ...
- 用HTML+CSS+JS做一个漂亮简单的公司网站(JavaScript期末大作业)
- 用HTML+CSS+JS做一个漂亮简单的游戏网页——全屏游戏美术大赛作品(4个滚动页面)
- html与css编程证书,利用CSS布局做一个简单的荣誉证书(代码示例)
本篇文章将给大家介绍如何使用css布局制作一个简单的荣誉证书,有趣且实用,希望对需要的朋友有所帮助! 那么利用css布局实现简单荣誉证书样式的效果是非常简单的,主要用到以下几个基础属性: backgr ...
- Md2All:好用的markdown文件转换工具,文章迁移微信公众号的利器
简介 使用体验 极速上手 更多功能 1.快速代码格式设置 2.所有元素自定义CSS样式 3.图片自动上传图床 4.LaTeX公式自动转化图片 5.其他 总结 简介 markdown以简单的语法和强大的 ...
- 自定义css样式美化博客园
写在前面 csdn的markdown放到博客园里感觉风格迥异,所以还是找个好点的css吧,css这个我没有深入了解,拼凑了一个css.对于有python代码,而且需要自动生成目录的博文很有帮助,其他的 ...
- Java使用QQ邮箱或网易163邮箱发送自定义CSS样式邮件
Java使用QQ邮箱或网易163邮箱发送自定义CSS样式邮件 前言 一.战前准备 1.导入依赖 2.配置文件 3.邮箱工具类 二.战争开始 1.QQ邮箱发送 2.网易邮箱发送 战后反思 前言 我们可能 ...
- 【Vue3 造轮子项目 】kaiteUI中利用Custom Block(自定义块)和vite实现代码渲染器
关于kaiteUI中通过json数据实现代码渲染器 前言 上礼拜笔者分享了搭建UI框架的技术栈,其中一个较为关键的技术--代码渲染器,由于篇幅问题放到了今天这篇博客中给大家做一个详细的分析解读. 在这 ...
最新文章
- MAT入门到精通(二)
- “新浪朋友”首先要满足朋友需求
- 苹果Swift语言中文教程资源汇总
- Thinking in React Implemented by Reagent
- python自带库处理excel-python处理excel之第三方库openpyxl
- mysql查询filter_子查询包含or引起的filter性能问题案例
- 颠覆传统的电商智能助理-阿里小蜜技术揭秘
- 单例模式 GetInstance()
- Hudson Jenkins 文档一篇[转记]
- Spring @ComponentScan
- 虚拟机安装菜鸟教程(2)——CentOS8系统安装 网络 时间配置
- java钓鱼_基于java的鱼友约钓鱼的系统
- 基于随机优化算法的特征选择
- 美团员工被指用钓鱼邮件获拼多多薪资;华为回应暂无其它手机厂商接入HarmonyOS;GCC 放弃版权转让政策...
- 酷狗如何打造集听、看、玩、唱于一体的泛娱乐音乐平台?
- 宝塔面板+腾讯云轻量应用服务器部署fiora聊天室
- java 获取文件的大小kb_java获取文件大小的方法
- 怎么把不能编辑的qlv转换成mp4
- 大数据技术与应用实验报告3
- RXBUS的简单使用