如何在样式组件的三元运算符中使用 css 根变量?
How can i use css root variable in ternary operator at styled-component?
我正在将 React 与 Typescript 一起使用,我想知道如何在样式组件的三元运算符中使用 var(--color-primary)
而不是 "005fcc"
。这是单独的样式文件:
/* style.ts */
import styled from "styled-components";
export const Container = styled.div`
width: 100%;
background-color: ${({ isTransparent }: { isTransparent: boolean }) =>
isTransparent ? "transparent" : "#005fcc"}; // <--- instead of "005fcc"
`;
我试过如下但没有用...
export const Container = styled.div`
// ...
background-color: ${({ isTransparent }: { isTransparent: boolean }) =>
isTransparent ? "transparent" : `${var(--color-primary}`};
`;
试试吧!您的代码不起作用,因为您在模板文字中的表达式中使用了 var,它是 javascript 表达式。您需要 return CSS 变量作为字符串,就像 background-color 中回调中的简单 属性,而不是模板文字中的 javascript 表达式。
export const Container = styled.div`
background-color: ${({ isTransparent }: { isTransparent: boolean }) =>
isTransparent ? "transparent" : "var(--color-primary)"};
`;
我正在将 React 与 Typescript 一起使用,我想知道如何在样式组件的三元运算符中使用 var(--color-primary)
而不是 "005fcc"
。这是单独的样式文件:
/* style.ts */
import styled from "styled-components";
export const Container = styled.div`
width: 100%;
background-color: ${({ isTransparent }: { isTransparent: boolean }) =>
isTransparent ? "transparent" : "#005fcc"}; // <--- instead of "005fcc"
`;
我试过如下但没有用...
export const Container = styled.div`
// ...
background-color: ${({ isTransparent }: { isTransparent: boolean }) =>
isTransparent ? "transparent" : `${var(--color-primary}`};
`;
试试吧!您的代码不起作用,因为您在模板文字中的表达式中使用了 var,它是 javascript 表达式。您需要 return CSS 变量作为字符串,就像 background-color 中回调中的简单 属性,而不是模板文字中的 javascript 表达式。
export const Container = styled.div`
background-color: ${({ isTransparent }: { isTransparent: boolean }) =>
isTransparent ? "transparent" : "var(--color-primary)"};
`;