Markdown排版优化小技巧:表格列宽调整
在Markdown中,表格的列宽默认都是按照单元格内容自适应,内容一多,排版就比较混乱。这个时候我们就很希望能调整列宽,让表格显示的美观一些,但很不幸,Markdown并没有原生提供这个功能。
因此,遇到需要调整列宽的场景,我们只能借助html来实现,下面分享几种方法,各有优劣,大家根据自己的实际情况来选用哪一种语法。
方案一:空格填充
这是设置宽度最快捷的方法,直接键入空格,但这里的空格并不是直接键入键盘上的空格键,键盘上的空格键即使键入再多,markdown也只显示为一个空格。这里的空格是指html的实体字符空格,实体字符空格表示的方式有很多种。
 = :空格。英文半角空格。 = = :无中断空格,英文半角空格。它就是我们使用空格键产生的空格,但使用空格键产生此空格不会累加,必须使用这个实体才能累加。 = :En间隔。等同于字体字号大小的一半,例如10px字体中就是5px。 = :Em间隔。等同于字体字号大小,它占据的宽度正好是1个中文宽度。例如,1em在16px的字体中就是16px。 = = :En间隔。 = = :Em间隔。 = = :三分之一的Em间隔,它占据的宽度是三分之一的中文宽度。 = = :四分之一的 Em 间隔,它占据的宽度是四分之一的中文宽度。 = :六分之一的 Em 间隔,它占据的宽度是六分之一的中文宽度。 = = :数字间隔。 = = :标点间隔。 = = = :窄间隔。 = = :微间隔。 = :窄的无中断空格。 :中文全角空格。它占据的宽度正好是1个中文宽度。
这些是我能搜集到的空格字符,尝试了下,除了  之外都有效。瞬间觉得脑容量不够了吧,这么多空格实体字符着实眼晕,不过以我平时的经验来看,只有 常用,其它的都可以忽略。
|字段1 |字段2|字段3|
|:---|:---|:---|
|nbsp|-|-|效果:
方案二:div标签
使用div包裹,写行内样式定义宽度。
|<div style="width:100px;">字段1</div>|字段2|字段3|
|:---|:---|:---|
|1|2|3|
效果:
推荐使用这种方式,相对来说简单,能精准定义宽度,且保留了表格的对齐方式。使用行内style样式,也容易扩展其它样式。
|<div style="width:100px;color:#f00;font-weight:normal;font-style:italic;">字段1</div>|字段2|字段3|
|:---|:---|:---|
|1|2|3|效果:
方案三:定义style样式
网上流传的一种方式,使用style样式全局定义的表格样式。
<style type="text/css">
table th:first-of-type {
width: 100px;
}
table th:nth-of-type(2) {
width: 200px;
}
table th:nth-of-type(3) {
width: 200px;
}
</style>上边的代码就是设置样式,分别找表格的第1列、第2列、第3列设置宽度。这种方式,就需要对html+css代码的文件有一定的了解了,需要知道css代码部署的位置。
不推荐使用这种方式,一来这种方式是做的全局设置,如果页面中有多个表格,不能做个性化设置;二来增添了Markdown书写的难度,我们尽量放弃这种向Markdown追加过多自定义标签或样式的操作。
结语
上边介绍了三种设置表格列宽的方式,但每一种都不尽人意,不到万不得已建议大家还是依托于Markdown解析器自动生成的表格进行排版,毕竟简单才是王道。
如果确实要设置列宽,推荐大家使用第二种,相对简单直接,就近设置便于个性化,也不会影响其它表格,如果想扩展也很简单。
当然,最后重要的一点,我们还是要看自己使用的Markdown编辑器对表格设置列宽的支持程度,或许你目前用的Markdown编辑器已经有了设置列宽的快捷方式。