css 以夸托定义新的图说文字

0yg35tkg  于 2022-12-05  发布在  其他
关注(0)|答案(1)|浏览(161)

定义夸托新标注的最佳调用方式是什么?我可以修改默认标注,如下所示:

---
format: 
  html: 
    theme:
      - custom.scss
---

::: {.callout-tip appearance="minimal"}
Some wild callout
:::

然后是.scss文件,如下所示:

/*-- scss:defaults --*/
$callout-background: #ff5bbb;

/*-- scss:rules --*/

.callout {
    background-color:$callout-background;
 }

但适用于所有后续标注。定义 * 新 * 标注的最佳方式是什么?

eulz3vhy

eulz3vhy1#

创建新标注块的一个选项是使用所需的规则重新定义callout的css类。
这里我定义了一个新的callout块callout-tweet,它重定义了callout的css类。但是这个重定义的callout块不包含callout图标,即使有callout-appearance: default。所以为了得到图标,我添加了另一个类.icon
因此,yaml中的callout-icon: falsetrue不会影响这个新定义的callout-block(callout-tweet)。默认情况下,它将不带图标呈现,要获得图标,您需要使用.icon

---
title: "New Callout Block"
format: 
  html: 
    theme: callout_tweet.scss
---

::: {.callout-tweet}
Tweet from the callout tweet
:::

::: {.callout-tweet .icon}
Tweet from the callout tweet with icon
:::

::: {.callout-tip}
Some wild callout
:::

::: {.callout-warning}
Some wild callout
:::

callout_tweet.scss

/*-- scss:defaults --*/
$border-color-left: #0dcaf0 !default;
$icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-twitter" viewBox="0 0 16 16">  <path d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z"/></svg>') !default;

$background-color: #bfe4eb !default;

/*-- scss:rules --*/

div.callout-tweet.callout {
  border-left-color: $border-color-left;
}

div.callout-tweet.callout-style-default>.callout-header {
  background-color: $background-color;
}

.callout-tweet.icon .callout-icon {
  display: unset !important;
}

div.callout-tweet.icon.callout-captioned .callout-icon::before {
  background-image: $icon;
}

.callout-tweet.icon.callout-style-default div.callout-icon-container {
  padding-top: 0.1em;
  padding-right: 0.35em;
}

现在新定义的callout块仍然存在一个问题,即如果使用collapse=true,它将变为可折叠的,但不显示可折叠图标。要解决这个问题,只需在div标题中的.callout-tweet后添加一个已定义的callout-types。

---
title: "New Callout Block with collapse sign"
format: 
  html: 
    theme: callout_tweet.scss
---

::: {.callout-tweet collapse=true}
Tweet from the callout tweet with icon
:::

::: {.callout-tweet .callout-warning collapse=true}
Tweet from the callout tweet
:::

::: {.callout-tweet .icon .callout-note collapse=true}
Tweet from the callout tweet with icon
:::

相关问题