尽管 GitHub Readme 文件(通常为 ./readme.md
)是 Markdown 格式的,并且 Markdown 支持 HTML,但您不能在其中放置 <style>
或 <script>
标签。(好吧,您可以,它们只是会被删除。)因此,您无法在那里应用自定义样式。或者可以吗?
- 您可以使用 SVG 作为
<img src="./file.svg" alt="" />
(在任何地方)。 - 以这种方式使用时,即使其中的动画也会播放(哇)。
- SVG 具有诸如
<text>
用于文本内容,以及<foreignObject>
用于常规 HTML 内容的功能。 - SVG 支持
<style>
标签。 - 您的
readme.md
文件确实支持使用 SVG 源的<img>
。
Sindre Sorhus 将所有这些 整合到一个示例中。
相同的 SVG 源将在此处工作
如果有人在想“嘿!我在 CRA 中见过类似的东西”,是的,您见过 (PR#3816)。
asciinema
+svg-term-cli
(或asciicast2gif
) 是一种非常巧妙的方法,可以让您的 README 更加引人注目,尤其是在展示 CLI 时。非常有用
哦,看来标签已被删除…… 所以我们再来一次,使用正确编码的括号
您能详细说明 <foreignObject> 在动画 SVG 中的作用吗?除了本例中的文本阴影外,<style> 本身不就足够了吗?
我甚至用另一个动画 SVG 标题图像的示例进行了尝试:https://raw.githubusercontent.com/pmndrs/valtio/master/logo.svg – 事实上,即使删除了 <foreignObject> 并将 <style> 直接放在 SVG 内部,它似乎也能正常工作(当然,破坏了元素的位置,需要修复)。
我错过了什么吗?
您好,
我使用此技巧为图像添加了对
prefers-color-scheme
的支持,因此您现在可以使用一张图像用于深色主题,另一张图像用于浅色主题。我认为这在 README 中非常有用。我在
github-readme-activity-graph
项目中实现了这种方法。您可以在我的 readme 中阅读更多信息,该信息展示了如何操作。
希望您觉得有用
谢谢!
好技巧!
我只是想知道,是否可以更改 body 元素的样式?
谢谢!