有没有一种方法可以为RSS/ATOM提要添加样式?

3

我注意到的一个问题是,我的博客文章在 RSS 订阅中显示的方式与在实际博客中显示的方式非常不同。很可能是因为 CSS 样式不适用于 RSS 订阅,所以布局出现了问题。

例如,在我的 RSS 订阅中,如果有这样的内容:

<div class="right-floater">Some right-float text!</div>
<p>Normal paragraph text.</p>

如果您在博客上查看,它将正确显示。在实际的RSS源中,它将不带CSS布局,并且<div>将位于<p>左侧。

是否有一种方法可以添加CSS样式表信息的链接,以便阅读器应用程序加载样式,从而在像Google Reader这样的应用程序中查看时样式正确?

1个回答

2

这取决于阅读器,但是大多数阅读器会完全忽略CSS。一些阅读器(如Google Reader)会注意到style属性,如果它足够"简单",那么您可以编写:

<div style="float: right">Some right-float text!</div>
<p>Normal paragraph text.</p>

出于安全考虑(主要是为了避免XSS攻击),CSS必须通过过滤器。只有“已知安全”的CSS才能通过。


由于我正在使用WordPress,许多样式都是通过styles.css提供的类简单添加的。当我写帖子时,不使用类来设置样式是否更好,或者有没有一种方法可以在feed中包含外部CSS文件? - Naftuli Kay
@TK 这取决于RSS阅读器,但至少对于Google Reader而言,没有任何方法可以使用外部CSS。实际上,我相信class属性已经完全被过滤掉了。我们曾经讨论过尝试在Feed中包含样式表的可能性(我曾经在Google Reader上工作,并且是其HTML清除程序的主要负责人),但正确地做这件事情非常棘手,而且没有被认为有足够的优先级来证明这个努力是值得的。 - Laurence Gonsalves
那么解决方案就是将重要的布局嵌入到“style”属性中,而不是CSS类中?我想我可以这样做。反正我现在正在使用HTML撰写文章,所以我会将其作为默认设置。 - Naftuli Kay
@TK 是的,不过如果您使用适当的结构标记,则对于style的需求应该非常小。人们通常需要使用style的一个场合是浮动图像。 - Laurence Gonsalves
没错,非常感谢,这回答了我的问题。 - Naftuli Kay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接