在 R Markdown 中渲染原始 HTML
render raw HTML in R Markdown
我正在尝试在 R Markdown 文档中包含来自此 JSfiddle 的一小段工作代码:https://fiddle.jshell.net/atypq97m/3/。
有一个用于包含 HTML 的 Pandoc 扩展:http://rmarkdown.rstudio.com/authoring_pandoc_markdown.html#raw_html
我可以渲染 HTML,但我发现这种行为很奇怪。当我从我的 JSfiddle 复制并粘贴代码并将其放入 R Markdown 时,它的功能有所不同。
这是我的代码:
---
title: "Untitled"
author: "CG"
date: "6 September 2016"
output:
html_document:
md_extensions: +raw_html
---
<style type="text/css">
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
}
.tooltip .tooltiptext {
visibility: hidden;
position: absolute;
z-index: 1;
}
.tooltip:hover .tooltiptext {
visibility: visible;
}
</style>
<div class="tooltip">Hover over me
<span class="tooltiptext">
Hello World
</span>
</div>
<br>
<br>
<br>
<div class="tooltip">Or hover over me
<span class="tooltiptext">
Hello World
</span>
</div>
如果我删除 HTML 中的 CSS 或 类 内容呈现(没有功能),但如果我保留 CSS 和 类 我发现 none 的文字出现了。这表明 Rmarkdown/Pandoc 对 CSS 的解释与 JSfiddle 不同,但我不知道为什么。
不同的行为是因为 class .tooltip
已经在用于 RMarkdown 文档的默认主题中定义。
如果您使用 RMarkdown 的默认主题,那么您会在 bootstrap.css 文件中找到 class 位于(对于 OSX 用户):
/Library/Frameworks/R.framework/Versions/3.3/Resources/library/rmarkdown/rmd/h/bootstrap-3.3.5/css
这是你会发现的:
.tooltip {
position: absolute;
z-index: 1070;
display: block;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 12px;
font-style: normal;
font-weight: normal;
line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
white-space: normal;
filter: alpha(opacity=0);
opacity: 0;
line-break: auto;
}
我正在尝试在 R Markdown 文档中包含来自此 JSfiddle 的一小段工作代码:https://fiddle.jshell.net/atypq97m/3/。
有一个用于包含 HTML 的 Pandoc 扩展:http://rmarkdown.rstudio.com/authoring_pandoc_markdown.html#raw_html
我可以渲染 HTML,但我发现这种行为很奇怪。当我从我的 JSfiddle 复制并粘贴代码并将其放入 R Markdown 时,它的功能有所不同。
这是我的代码:
---
title: "Untitled"
author: "CG"
date: "6 September 2016"
output:
html_document:
md_extensions: +raw_html
---
<style type="text/css">
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
}
.tooltip .tooltiptext {
visibility: hidden;
position: absolute;
z-index: 1;
}
.tooltip:hover .tooltiptext {
visibility: visible;
}
</style>
<div class="tooltip">Hover over me
<span class="tooltiptext">
Hello World
</span>
</div>
<br>
<br>
<br>
<div class="tooltip">Or hover over me
<span class="tooltiptext">
Hello World
</span>
</div>
如果我删除 HTML 中的 CSS 或 类 内容呈现(没有功能),但如果我保留 CSS 和 类 我发现 none 的文字出现了。这表明 Rmarkdown/Pandoc 对 CSS 的解释与 JSfiddle 不同,但我不知道为什么。
不同的行为是因为 class .tooltip
已经在用于 RMarkdown 文档的默认主题中定义。
如果您使用 RMarkdown 的默认主题,那么您会在 bootstrap.css 文件中找到 class 位于(对于 OSX 用户):
/Library/Frameworks/R.framework/Versions/3.3/Resources/library/rmarkdown/rmd/h/bootstrap-3.3.5/css
这是你会发现的:
.tooltip {
position: absolute;
z-index: 1070;
display: block;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 12px;
font-style: normal;
font-weight: normal;
line-height: 1.42857143;
text-align: left;
text-align: start;
text-decoration: none;
text-shadow: none;
text-transform: none;
letter-spacing: normal;
word-break: normal;
word-spacing: normal;
word-wrap: normal;
white-space: normal;
filter: alpha(opacity=0);
opacity: 0;
line-break: auto;
}