我正在使用 Pelican 3.6.3 生成站点。源内容采用 Markdown 格式,包含许多表格。我试过用四五个不同的 Pelican 主题生成输出,但表格从来没有任何可见的边框。所有表格内容按行和列排列整齐,但没有单元格边框或外边框。
这有什么具体原因吗?我打算手动修改 CSS 吗?似乎不太可能所有主题作者都会做出相同的设计决定。
我的一个表的例子:
| Measurement | 2401 | 2701 |
|------------------|----------|---------|
| Total height | 2 13/16" | 4 1/8" |
| Diameter at base | 4" | 4 9/16" |
最佳答案
是否设置了 HTML 属性 border
?如果是这样,很可能是由您的浏览器决定如何呈现表格。
我自己检查了几个主题(只是快速浏览了 CSS 代码,不保证正确性):
| Theme | Border |
|=================|========|
| apricot | No |
| basic | |
| bluegrasshopper | |
| blueidea | |
| blue-penguin | |
| bold | |
|-----------------|--------|
| backdrop | Yes |
| bootlex | |
我可以想象,根据内容、理由和其他格式方面的不同,在所有 表格上设置边框是不合适的。因此,我可以理解默认情况下禁用表格边框并让主题用户在需要时自定义行为的设计决策。
在我的网站上,我使用表格来处理许多不同的事情。通常,尤其是当包含图像或语法高亮区域等 block 时,边框会使表格看起来很奇怪。截至目前,我支持这个设计决定。
但是,如果想要在某些 表格上添加边框怎么办?如果可以在文章源文件中指定特殊的 HTML 类,则使用 CSS 的大小写相关样式很容易实现。不幸的是,python-markdown
(或一般的 markdown
)不支持这种功能。至少,这是一项简短的谷歌研究揭示的内容。 (也许有一个我不认识的 python-markdown
扩展?..)
另一种方法是使用另一种标记语言。 reStructuredText
与 markdown 相比更复杂,但也更具可扩展性。 table指令 native 支持 HTML 类的规范。我自己使用 reStructuredText
,并且喜欢标记语言引入的高度灵 active 。
您也可以让 javascript
完成这项工作,并根据表格内容设置 HTML 类的样式。但是,我认为这不是一个好的解决方案,因为您需要为静态网站的外观创建对 javascript 的依赖。
希望对你有帮助:)
tl;dr
- 具体原因作为主题最有可能更普遍适用。
- 是的,我们邀请您自己在 CSS 代码或最适合您的地方引入所需的定制。
关于html - 鹈鹕网站生成器 : themes do not have visible table borders?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37557112/