标签: css-variables

CSS 使用另一个类的颜色?

是否可以将颜色从一个 CSS 类导入到另一个 CSS 类?或者创建某种全局颜色定义,然后在多个类中使用它,这样如果您想更改颜色,就不必在多个位置进行更新?

例如,假设我有一个 CSS 类,我想将其用于特定元素,但我希望它使用分配给 Bootstrap“危险”类的相同颜色。有什么办法可以做到这一点吗?或者我只需要从 Bootstrap CSS 文件复制颜色值并在我自己的类中使用它?

css twitter-bootstrap css-variables bootstrap-4

6
推荐指数
1
解决办法
1万
查看次数

React - 如何用 css 变量替换 Ant-Design 主按钮的悬停颜色?

我正在使用 React、Redux、Ant-Design、LESS 和许多其他模块创建一个应用程序。我必须从数据库中获取原色并将其分配给 CSS 变量 (--primary-color)。我将颜色变暗并将其分配给另一个 CSS 变量 (--primary-color-darken)。我使用CSS变量而不是LESS变量,因为LESS变量在编译后被硬编码并且无法更改。我成功地用我的 CSS 变量覆盖了 AntD css 类,但是对于悬停类它不起作用。浏览器似乎正确理解了样式,但计算出了错误的样式。

//LESS code
//Default assigned CSS variables
:root {
  --primary-color: #EB3052;
  --primary-color-darken: #D62D4C;
  --primary-hover-color: var(--primary-color-darken);
}

//Default value for Ant-Design
@primary-color: #EB3052;
@primary-hover-color: #D62D4C;

//Overwrite the Ant-Design class
.ant-btn.ant-btn-primary,
.ant-btn-primary {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
  &:hover {
    background-color: var(--primary-hover-color) !important;
    border-color: var(--primary-hover-color) !important;
  }
}
Run Code Online (Sandbox Code Playgroud)

我重新分配与包装所有应用程序内容的包装组件内联的变量。

[other wrapper]
<div class="CssVariableApplicator" style="--primary-color:#FFFF22;--primary-color-darken:#e6e61f;" data-reactroot="">
  [content]
</div>
Run Code Online (Sandbox Code Playgroud)

查看打印屏幕的行为:

  1. 正确设置原色样式:https ://i.stack.imgur.com/RV057.png

  2. 正确计算原色: https://i.stack.imgur.com/h7967.png

  3. 样式悬停原色正确]: https ://i.stack.imgur.com/tSWIN.png

  4. 错误计算悬停原色:https ://i.stack.imgur.com/Ed4e9.png

hover less reactjs css-variables antd

6
推荐指数
1
解决办法
3万
查看次数

CSS 变量在 dialog::backdrop 中不起作用

我正在尝试使用自定义 CSS 属性更改dialog元素的背景颜色,backdrop但它不会。这是 Chrome 中的错误还是有原因?

document.querySelector('dialog').showModal();
Run Code Online (Sandbox Code Playgroud)
:root {
  --color-backdrop: red;
}

dialog::backdrop {
  background: var(--color-backdrop);
}
Run Code Online (Sandbox Code Playgroud)
<dialog><p>This is a dialog. My backdrop should be red.</p></dialog>
Run Code Online (Sandbox Code Playgroud)

dialog modal-dialog css-variables

6
推荐指数
2
解决办法
413
查看次数

以角度动态更改css变量

在我的 angular 项目中,我在这样的顶级styles.scss文件中定义了一些 css 变量。我在很多地方使用这些变量来保持整个主题的一致性。

:root {
  --theme-color-1: #f7f7f7;
  --theme-color-2: #ec4d3b;
  --theme-color-3: #ffc107;
  --theme-color-4: #686250;

  --font-weight: 300
}
Run Code Online (Sandbox Code Playgroud)

如何从app.component.ts动态更新这些变量的值?在 angular 中做到这一点的干净方法是什么?

css typescript css-variables angular

6
推荐指数
2
解决办法
6533
查看次数

将 JavaScript 中的 CSS 自定义属性/变量设置为 String 类型

考虑以下场景:

document.body.style.setProperty("--text", "world")
Run Code Online (Sandbox Code Playgroud)
body::before{
  --text: "Hello";
  content: var(--text, "...");
}

body::after{
  content: var(--text, "...");
}
Run Code Online (Sandbox Code Playgroud)

CSS 能够通过带有引号的自定义属性的值来设置变量的类型但是当使用 javascript 执行相同操作时,这是(检查的)节点(在 Chrome 中)的结果,该节点不带引号,这使得不可能用作伪元素的值: --textsetPropertycontent

在此输入图像描述

这可以通过 JS 来完成吗setProperty?(假设该元素的属性中已经有一堆style我不想弄乱的东西。

javascript css dom css-variables

6
推荐指数
1
解决办法
3592
查看次数

CSS变量计算HSL值

我想要一个基本的 HSL 颜色值,我想将其实现为渐变,如下所示:

:root {
    --hue: 201;
    --saturation: 31;
    --lightness: 40; 
    --mainColor: hsl(var(--hue),var(--saturation),var(--lightness));

    --difference: 20; /* 0 + --difference < --lightness < 100 - --difference */

    --lightnessPlus: calc(var(--lightness) + var(--difference));
    --colorFrom: hsl(var(--hue),var(--saturation),var(--lightnessPlus));

    --lightnessMinus: calc(var(--lightness) - var(--difference));
    --colorTo: hsl(var(--hue),var(--saturation),var(--lightnessMinus));
}

[...]
.class {
    background-image: linear-gradient(to right, var(--colorFrom), var(--colorTo));
}
Run Code Online (Sandbox Code Playgroud)

上面的代码产生了一个透明的对象,我无法理解为什么,请帮忙!

css hsl colors css-variables css-calc

6
推荐指数
1
解决办法
4477
查看次数

PC Chrome 如何调试 iOS 环境变量,例如 env(safe-area-inset-bottom)?

我知道打开 iOS iPhoneX 的 iOS 模拟器可以调试环境变量,但我想使用 chrome 开发工具来调用 css 变量。

google-chrome google-chrome-devtools css-variables

6
推荐指数
1
解决办法
1142
查看次数

CSS变量数组-可能吗?

我了解如何在CSS中使用变量。他们帮助加快了我在客户站点的工作流程。

我注意到,在很多情况下,由于没有数组系统,我会在变量旁边写下一个数字以分配给特定的颜色或外观。可以这么说,我最终创建了一个准阵列。

像这样

--c1: color:#ddd;  //link color
--c2: color:#aaa;  //quote color
--c3: color:#444;  //body text
Run Code Online (Sandbox Code Playgroud)

是否可以在CSS中执行类似的操作?

--c new array (color:#ddd, color:#aaa, color:#444);
Run Code Online (Sandbox Code Playgroud)

然后调用数组

arr(--c,3); 
Run Code Online (Sandbox Code Playgroud)

代替

var(--c3);
Run Code Online (Sandbox Code Playgroud)

我知道CSS不是OOP,但是能够处理这样的数据会很好,特别是如果我可以将其扩展到两个维度的话。我也理解这在理论上可能是毫无意义的练习,因为键入--c3比执行--c,3甚至--c [3]更快。值得深思。

css arrays css-variables

5
推荐指数
1
解决办法
1916
查看次数

使变量值为负值

我试图弄清楚一种变量为负的方法.我试过right: calc(0-var(--skyve-bredde));它不起作用.这是变量:

#drawer, #burger{
    --skyve-lengde:50%;
}
Run Code Online (Sandbox Code Playgroud)

该值将用于rightwidth属性.感谢任何帮助,谢谢.

css calc css-variables

5
推荐指数
1
解决办法
139
查看次数

取消设置/删除自定义属性/ CSS变量

请看以下示例:

.article, .note {
    color: var(--text-color, red);
 }
 .theme {
    --text-color: blue;
 }
 .theme .note {
     --text-color: unset;
 }
Run Code Online (Sandbox Code Playgroud)
<section>
    <p class="article">Article</p>
    <p class="note">Note</p>
</section>
<section class="theme">
    <p class="article">Article</p>
    <p class="note">Note</p>
</section>
Run Code Online (Sandbox Code Playgroud)

是否可以通过取消设置CSS变量使第二个"注"再次变为红色?

我知道我只能应用CSS变量,.article但我假设我有很多类似的元素,我希望应用主题,但只有少数豁免.然后维护选择器会相当繁琐.

我可以将主题选择器更改为.theme :not(.note)但不适用于.note嵌套在其他元素中的任何元素.

html css css3 css-variables

5
推荐指数
1
解决办法
767
查看次数