【问题标题】:Custom values under css property - CSScss 属性下的自定义值 - CSS
【发布时间】:2018-04-23 18:15:38
【问题描述】:

我刚刚在 youtube 上播放一些视频,突然对检查 youtube 的 HTML 结构感到好奇。我注意到发生了一些很酷的事情。

使用的大多数 HTML 标签都不是标准标签,我对 Angular 有一些了解,我们可以在其中定义自己的 HTML 标签。但我无法理解的是在 CSS 属性中传递一些自定义值。

喜欢这个:

background: var(--yt-dialog-background);

有人知道这些东西是如何工作的吗?我只是想知道它,而不仅仅是背景。对于几个属性,我看到它下面有自定义值。我什至试图更深入一点,比如在检查器的元素下找到var(--yt-dialog-background),但我找不到任何与var(--yt-dialog-background)对应的值

【问题讨论】:

标签: javascript html css youtube


【解决方案1】:

那些是CSS variables:

:root {
  --main-bg-color: green;
}

div {
  color: var(--main-bg-color);
}
<div>
  Some text
</div>

【讨论】:

  • 伙计,这太酷了。我从来不知道 CSS 有变量。我将 SASS 用于我的 CSS。但是这些变量比我在 SASS 中使用的变量有什么优势吗?
  • @UnknownUser 是的,您可以通过 Javascript 更改这些变量的值。请参阅我链接的 MDN 文章中的最后一个示例。
【解决方案2】:

【讨论】:

    【解决方案3】:

    您看到的是原生的 css variables. Browser support is actually pretty good,这就是为什么您会看到它们被 YouTube 这样的网站用于生产。

    基本用法如下:

    :root {
        --main-color: red;
    }
    
    h1 {
        color: var(--main-color);
    }
    

    【讨论】:

      猜你喜欢
      • 2018-09-08
      • 2019-04-12
      • 1970-01-01
      • 2018-03-07
      • 2019-04-21
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      • 2018-06-16
      相关资源
      最近更新 更多