到目前为止,我已经在Markdown表格中获得了格式化和居中文本,但是在控制相对于外部容器的表格尺寸方面没有找到任何结果(至少除了它在自动收缩时会自动收缩的事实)通过包装文本大。)
是否可以在Markdown中创建一个延伸到可用宽度的表格?如果是这样,你是如何实现这一目标的?
答案 0 :(得分:3)
为表格定义CSS样式:
table {
width:100%;
}
作为Markdown rules州:
Markdown的语法仅用于一个目的:用作格式 为网络写作。
Markdown不是HTML的替代品,甚至不接近它。 ...... Markdown的想法是让阅读,编写和编辑散文变得容易。 HTML是发布格式; Markdown是一种书写格式。从而, Markdown的格式化语法仅解决可能出现的问题 用明文传达。
由于Markdown是一种“书写格式”,而不是一种出版格式,因此它没有提供“样式”文本的方法。当然,默认情况下,Markdown会生成HTML,因此要问的适当问题是如何在HTML中完成所需的样式。答案就是使用CSS将宽度设置为100%
(参见html table span entire width?)。
接下来的问题是如何让输出使用CSS定义。答案取决于Markdown的呈现方式和位置。如果您拥有完全控制权,那么您可能会在您网站的现有CSS规则中包含CSS规则。至少,您可以将规则包含在文档的<style>
的{{1}}标记中。
如果您无法控制整个页面,那么您可以在Markdown本身的某处添加样式标记。 Markdown未经修改地传递HTML,因此不会破坏任何内容。像这样:
<head>
还可以选择在HTML <style>
table {
width:100%;
}
</style>
标记中定义内联样式,但这仅适用于手动制作HTML的情况。正如您希望Markdown为您生成HTML,那么这不是一个有用的选项。
最后,如果您的Markdown由第三方网站(如StackOverflow或GitHub)呈现,那么该网站可能会采取各种安全措施,这将使所有这些选项无法实现。例如,请参阅Is it possible to have a table in the center in Github gist markdown?
答案 1 :(得分:2)
正如Waylan所说,Markdown关注内容,而不是演示。如果您可以控制内容的呈现位置和方式,那么他的解决方案将会有效。
但在某些情况下,例如在GitHub上,你没有这种控制权。作为Markdown rendering pipeline
的一部分对HTML进行清理,积极删除可能会伤害您和您的亲属的内容,例如
script
代码,内联样式以及class
或id
属性。有关完整的白名单,请参阅sanitization filter。
在GitHub上,您必须使用GitHub的渲染规则。