在 RMarkdown ioslides {.columns-2} 布局中强制分栏

force column break in RMarkdown ioslides {.columns-2} layout

在使用 RMarkdown 的 ioslides 准备演示文稿时,我遇到了一个问题,但我一直找不到解决方案。 This answer也没有解决这个具体问题。

有时,双栏布局最适合解释某事,一侧是图像,另一侧是文本。但是,如以下示例所示,分栏符似乎没有按预期工作。

有没有办法在特定点强制分栏?我考虑过增加右侧的图像高度,但不幸的是,有时这不是一个选择。

---
title: "Some stange column break"
output: 
  ioslides_presentation:
    widescreen: true
---

## Slide Title {.columns-2 .smaller}
### Slide Subtitle

>- Some bullet points which take up some space space space space space space space

>- on the column on the left

>- which are then wrapped to the right column. 

>- *Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.*

>- line break after this longer bullet point but intead it breaks in some strange place even though it would have space at the bottom of the left column!

<!-- the columns should break here -->

```{r, echo = FALSE, out.width = "470px"}
plot(mtcars)
```

我过去使用过两种方法,都在您链接的问题中给出了答案。我是否遗漏了为什么这些不能满足您的需求?

方法 1 似乎是您所追求的,但我个人倾向于使用方法 2,因为我喜欢具有不同宽度列的灵活性。

注意:我只使用 ioslides 格式测试了这些方法


方法一:forceBreak,内联样式标签

这需要额外的 CSS class 定义,您可以在文档的开头内联。

---
title: "Untitled"
output: 
  ioslides_presentation:
      widescreen: true
---

<style>
.forceBreak { -webkit-column-break-after: always; break-after: column; }
</style>


## Slide Title {.columns-2 .smaller}
### Slide Subtitle

>- Some bullet points which take up some space space space space space space space

>- on the column on the left

>- which are then wrapped to the right column. 

>- *Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.*

>- line break after this longer bullet point but intead it breaks in some strange place even though it would have space at the bottom of the left column!

<p class="forceBreak"></p>

```{r, echo = FALSE, fig.width=4.7}
plot(mtcars)
```

方法二:HTML 标签

此方法不需要任何额外的 CSS 定义或外部文件。

---
title: "Untitled"
output: ioslides_presentation
---

## Another Method for Two Column Layouts

<div style="float: left; width: 40%;">
+ This text is on the left
</div>

<div style="float: right; width: 60%;">
+ This text is on the right
</div>

通过在添加 clear 样式的第二列下方添加一个空 div 来阻止内容用完第二列下方的 space,从而进一步禁用元素的重排下面。

<div style="clear: both;"></div>

我是从这里了解到的:https://css-tricks.com/all-about-floats/