例子:
:root {
--PrimaryThemeColor: #3acfb6; /* with or without quotes */
}
.ColorSwatch:after {
content: var(--PrimaryThemeColor);
}
Run Code Online (Sandbox Code Playgroud)
当它被渲染时,计算出的 CSS 就是那个值。
content: var(--PrimaryThemeColor);
Run Code Online (Sandbox Code Playgroud)
即使我使用的后处理器将计算值作为后备注入,值本身也不是字符串,因此对于content.
.ColorSwatch:after {
content: #3acfb6;
content: var(--PrimaryThemeColor);
}
Run Code Online (Sandbox Code Playgroud) 我希望能够通过CSS自定义属性使用LESS的darken函数。我有这样的想法:
:root {
--color-primary: green;
}
div {
background-color: darken(var(--color-primary), 50%);
}
Run Code Online (Sandbox Code Playgroud)
但这给我一个错误。还有另一种方法吗?
:root Selector在某些浏览器中不起作用.
码:
:root {
--blue: #4d6fd3;
--yellow: #d8c812;
}
h1{
color: var(--blue);
}
h2{
color: var(--yellow);
}Run Code Online (Sandbox Code Playgroud)
<h1>This is a heading with blue color</h1>
<h2>This is a heading with yellow color</h2>Run Code Online (Sandbox Code Playgroud)
这些导入的CSS不适用于Safari 5.1.7和IE11.
我试图使用基于动态值的自定义属性,例如attr().
例如,在下面的代码中,我尝试根据当前元素的id属性访问两个自定义属性.
:root{
--app-foo: 'Hello';
--app-bar: 'World';
}
div::after{
/* expected :
'Hello' for #foo
'World' for #bar */
content: var('--app-'attr(id));
}Run Code Online (Sandbox Code Playgroud)
<div id="foo"></div>
<div id="bar"></div>Run Code Online (Sandbox Code Playgroud)
但它显然失败了.
有没有办法实现这个目标?
我正在尝试在我的Angular应用程序中使用css varible,在子组件中,它只是不起作用.在浏览器的Elements工具(我使用Chrome最新版本)中,var()不执行任何操作.expamle:
css文件:
:root {
--width: 43.75%;
}
#content {
display: grid;
grid-template-columns: repeat(2, var(--width));
grid-auto-rows: 90%;
grid-gap: 3px;
align-content: center;
justify-content: center;
border: 2px solid black;
width: 400px;
height: 250px;
margin: 0 auto;
}
Run Code Online (Sandbox Code Playgroud)
CSS变量是否可以与Angulat一起使用?谢谢
我在根中定义了一种颜色:
:root {
--purple: hsl(266, 35%, 70%);
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试在SASS函数中使用它来提高透明度:
.purple {
background: transparentize(#{"var(--primary-color)"}, 0.7)
}
Run Code Online (Sandbox Code Playgroud)
有谁知道使它工作的方法?还是只是不可能?
我一直在尝试一些事情,但没有找到完全适合我想要做的事情。
以下代码段是我想要实现的目标……
ul {
--liWidth: 10px;
}
ul li {
margin-left: calc(var(--liWidth) * var(--n));
font-size: calc(20px - 1px * var(--n));
}Run Code Online (Sandbox Code Playgroud)
<ul>
<li style="--n: 1;">LI 1</li>
<li style="--n: 2;">LI 2</li>
<li style="--n: 3;">LI 3</li>
<li style="--n: 4;">LI 4</li>
<li style="--n: 5;">LI 5</li>
<li style="--n: 6;">LI 6</li>
<li style="--n: 7;">LI 7</li>
<li style="--n: 8;">LI 8</li>
</ul>Run Code Online (Sandbox Code Playgroud)
…但是不用我的nCSS-var。
为什么?如果使用一百li秒,我不想输入。
有什么margin-left: calc(var(--liWidth) * nth-of-type());可能的吗?
如果不是,最简单的方法是不使用JavaScript?(我已经知道如何使用它)
提前致谢。
我正在尝试为框模型属性设置CSS变量。我要支持为所有方面以及各个方面设置值。我想拥有默认值,但是无论哪种方式都可以覆盖。我尝试使用后备值,但收效甚微。
就像是:
:root {
--border-width-top: 0;
--border-width-right: 0;
--border-width-bottom: 0;
--border-width-left: 0;
--border-width: 0;
}
div {
border-color: red;
border-style: solid;
border-width: var(--border-width, var(--border-width-top) var(--border-width-right) var(--border-width-bottom) var(--border-width-left));
}
div {
--border-width-top: 10px;
}
Run Code Online (Sandbox Code Playgroud)
如果border-width具有默认值,则它将无法正常工作,那么它将始终优先于后备值。不确定目前有没有办法做到这一点,但是我觉得已经很接近找到解决方案了。
这是我正在玩的一个堆叠闪电战: stackblitz
css-variables ×10
css ×9
css3 ×4
html ×3
javascript ×2
angular ×1
css-content ×1
dynamic ×1
less ×1
safari ×1
sass ×1