Slidify - 如何自定义幻灯片背景?

5

我一直在尝试使用"slidify"包自定义幻灯片的背景,但一直不成功。

实际上,我可以通过修改"slidify.css"文件来为标题幻灯片自定义背景:

.title-slide {
/*background-color: #CBE7A5 */; /* #EDE0CF; ; #CA9F9D*/
background-image:url(C:/path/mypng.png);
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
 }

然而我找不到如何对“标准”幻灯片进行操作的方法。 我可以使用


--- bg:url(C:/path/mypng.png)  

我想在我的 .Rmd 文件中直接添加代码,但我的确无法添加 repeat 和 size 选项。

有没有人能教一下如何实现这个功能 / 在 CSS 文件中添加这些选项呢?

谢谢!


请删除 r 标签。 - Robert Krzyzanowski
2个回答

13
如果你想为单张幻灯片添加背景,则以下方法适用。
--- #custbg

## Slide with custom background

<style>
#custbg {
  background-image:url(C:/path/mypng.png); 
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
</style>

如果您有多个幻灯片需要使用自定义背景,则可以利用模板。因此,请按照以下方式重写幻灯片

--- &custbg bg:"C:/path/mypng.png"

## Slide with custom background

然后创建名为custbg.html的布局,并将其放置在assets/layouts文件夹中,slidify将自动选择布局。以下是简短的说明。 custbg.html布局继承自父布局slide.html。您在{{{ }}}之间看到的都是占位符,由slidify填充。 {{{ slide.html }}}包含原始幻灯片内容。我们通过使用id属性向此内容添加动态样式。请注意,此布局仅允许用户在幻灯片中指定bg。如果您愿意,还可以自定义其他样式属性。布局方法的优点是您可以使多个幻灯片受益于自定义背景。

---
layout: slide
---

{{{ slide.html }}}

<style>
#{{{ slide.id }}} {
  background-image:url({{{ slide.bg }}}); 
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
</style>

1
使用这个解决方案会导致我有重复的头部。 - MattBagg

1

好的,获取背景图像的另一种方法:

作为本地文件(与index.html在同一文件夹中的图像):

--- .class1 #id1 bg:url(picture.png)
## Slide with custom background
content slide

作为本地文件(在图像文件夹中,仅适用于此路径 assets/img 内):
--- .class1 #id1 bg:url(assets/img/picture.png)
## Slide with custom background
content slide

来自互联网

--- .class1 #id1 bg:url(http://placekitten.com/600/375)
## Slide with custom background
content slide

如果图片大小较小,我们会看到许多图像尝试覆盖整个幻灯片。另一方面,如果图片很大,我们只能看到部分图像作为幻灯片背景。我认为,有一种方法可以调用覆盖选项。在我的情况下,我调整图像大小以避免这个问题。
考虑因素:
浏览器测试:Mozila Firefox 和 Google Chrome。
框架:io2012。

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