我正在使用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         |        |


我可以想象,根据内容的不同,对齐方式和其他格式方面的问题会使所有表格上的边框都不适当。因此,我可以理解默认情况下禁用表格边框并允许主题用户自定义行为的设计决策。

在我的网站上,我将表格用于许多不同的事情。通常,尤其是当包括图像或句法突出显示区域之类的块时,边框会使表格看起来很奇怪。至此,我第二次做出了这个设计决定。

但是,如果有人想在某些桌子上加边框怎么办?如果可以在文章源文件中指定特殊的HTML类,则可以轻松实现使用CSS的大小写相关样式。不幸的是,python-markdown(或通常为markdown)不支持这种功能。至少,这是谷歌的一项简短研究揭示的。 (也许有我不认识的python-markdown扩展名?。)

另一种方法是使用另一种标记语言。与markdown相比,reStructuredText更复杂,但可扩展性也更高。 table指令本身支持HTML类的规范。我自己使用reStructuredText,并且喜欢标记语言引入的高度灵活性。

您还可以让javascript进行此工作,并根据表内容设置HTML类的样式。但是,我认为这不是一个好的解决方案,因为您为静态网站的外观创建了对javascript的依赖。

我希望这可以帮助你 :)

tl; dr


具体原因最有可能更普遍地用作主题。
是的,我们邀请您自己在CSS代码中或最适合您的位置介绍所需的自定义设置。

08-06 02:26