具体地说,这适用于用kableExtra制作的表格,这会产生非常吸引人的效果.我想知道有没有人知道huxtable是如何做到这一点的.

这里有一个RMD的例子,让你一瞥我的意思.我希望Huxtable支持在风筝中可见的悬停效果.

---
output: bookdown::html_document2
---

```{r lib}
library(magrittr)
```

```{r kable}
iris %>%
  head() %>%
  kableExtra::kbl(caption = "a caption") %>%
  kableExtra::kable_styling(bootstrap_options = "hover")
```

```{r huxtable}
iris %>%
  head() %>%
  huxtable::hux() %>%
  huxtable::set_caption("a caption")
```

相关信息:Is it possible to fix the head for a long huxtable?

推荐答案

如果您判断底层生成的HTMLforkableExtra表,您将看到,对于bootstrap_options = "hover",kableExtra使用了一个CSS类table-hover,它正在创建这样一种悬停效果.

了解到这一点,一种可能的方法是将table-hover类附加到所有Huxtable上,这可以很容易地使用Java脚本来完成.

---
output: bookdown::html_document2
---

```{r lib}
library(magrittr)
```


```{r huxtable}
iris %>%
  head() %>%
huxtable::hux() %>%
  huxtable::set_caption("a caption")
```


```{r huxtable2}
mtcars %>%
  head() %>%
huxtable::hux() %>%
  huxtable::set_caption("another caption")
```


```{=html}
<style>

.table-hover>tbody>tr:hover {
  background-color: #f5f5f5 !important;
}

</style>



<script>

function make_table_hover() {
  let huxtable = document.querySelectorAll('table.huxtable');
  huxtable.forEach(tab => {
    if (!tab.classList.contains('table-hover')) {
      tab.classList.add('table-hover');
    }
  });
};

window.addEventListener("load", (event) => {
  make_table_hover();
});
</script>

```

Html相关问答推荐

如何删除html原生对话框的宽度

我的表的第一列似乎是推其他2列到右边,我不能改变它

子元素以元素X开始和结束的元素的XPath?

滚动两个不同高度的DIV;一个等待另一个

不能以Angular 更改输入的S边框 colored颜色

响应网格,响应调整大小以适应父div,保留父div S自己的响应高度

如何在HTML中适当地为单选按钮网格添加标签?

如何使背景图像在面包屑中相互重叠

SVG的动态CSS

CSS中的百分比高度,如何使其与父级高度相同

网格项未在同一行上对齐

在屏幕上每行 css 中的特定列居中

在HTML使用link标签导入外部CSS时出现元素link不允许使用尾斜杠错误

实验的响应式屏幕尺寸

使用HTML和CSS构建简历网站.无法使body元素内的div元素跨越整个网站高度

如何在 Flex 对齐内容框下显示隐藏按钮和文本

使用图像自定义 CSS 网格边框

如何让一个 div 元素粘在另一个元素上?

如何动态调整彼此重叠的两个 div 的大小,使它们在增长时保持相同的高度

暗模式转换器