@media 在一个非常奇怪的 React 实现中使用 .tsx 和 .ts 文件进行查询
@media queries in a very odd React implementation using .tsx and .ts files
在过去两年左右的时间里,我一直在使用 React,并从 2000 年初开始使用@media 查询。我刚刚加入了一个新项目,他们以一种相当新颖的方式构建 React 组件,至少根据我的经验。
我将在下面放置一个片段来说明我的意思,但基本上他们不像我通常那样使用 .js 和 .css 文件,而是使用 .tsx 和 .ts 文件。他们在 .ts 文件中创建一个组件并立即应用样式。它看起来像这样:
//.ts文件
export const Container = styled.div`
.second-chart {
margin-top: 44px;
}
`;
//.tsx 文件
import {Container} from "./styles";
...
<Container>
<div className="second-chart">
...
</div>
</Container>
我完全明白它是如何工作的,而且使用起来似乎很简单。然而,我担心如何为这种类型的实现编写@media 查询?我什至不知道怎么称呼它,所以我也许可以在线搜索建议。
有谁知道可以用于此类实施的术语吗?或者更好的是,有人可以让我知道如何为它编写 @media 查询吗?我在想,如果我知道如何将 class 添加到 .ts 文件中的 'styled.div' 部分,我总是可以将我的 @media 查询添加到单独的 .css 文件。
如有任何建议,我们将不胜感激。
多亏了 Abin Thaha 的评论,我才能找到问题的答案。您只需将它作为子项添加到声明中,如下所示:
export const Container = styled.div`
display:flex;
.second-chart {
margin-top: 44px;
}
@media only screen and (max-width: 1200px) {
flex-direction: column;
justify-content: center;
.second-chart {
margin-top: 35px;
}
}
`;
看起来该项目正在使用 Styled Components。正如@phunder 所指出的,您可以将所有正常的 css 包含在样式元素中,其中包括您的媒体查询,如下所示:
export const Container = styled.div`
font-size: 16px
@media only screen and (max-width: 600px) {
font-size: 12px
}
`;
在过去两年左右的时间里,我一直在使用 React,并从 2000 年初开始使用@media 查询。我刚刚加入了一个新项目,他们以一种相当新颖的方式构建 React 组件,至少根据我的经验。
我将在下面放置一个片段来说明我的意思,但基本上他们不像我通常那样使用 .js 和 .css 文件,而是使用 .tsx 和 .ts 文件。他们在 .ts 文件中创建一个组件并立即应用样式。它看起来像这样:
//.ts文件
export const Container = styled.div`
.second-chart {
margin-top: 44px;
}
`;
//.tsx 文件
import {Container} from "./styles";
...
<Container>
<div className="second-chart">
...
</div>
</Container>
我完全明白它是如何工作的,而且使用起来似乎很简单。然而,我担心如何为这种类型的实现编写@media 查询?我什至不知道怎么称呼它,所以我也许可以在线搜索建议。
有谁知道可以用于此类实施的术语吗?或者更好的是,有人可以让我知道如何为它编写 @media 查询吗?我在想,如果我知道如何将 class 添加到 .ts 文件中的 'styled.div' 部分,我总是可以将我的 @media 查询添加到单独的 .css 文件。
如有任何建议,我们将不胜感激。
多亏了 Abin Thaha 的评论,我才能找到问题的答案。您只需将它作为子项添加到声明中,如下所示:
export const Container = styled.div`
display:flex;
.second-chart {
margin-top: 44px;
}
@media only screen and (max-width: 1200px) {
flex-direction: column;
justify-content: center;
.second-chart {
margin-top: 35px;
}
}
`;
看起来该项目正在使用 Styled Components。正如@phunder 所指出的,您可以将所有正常的 css 包含在样式元素中,其中包括您的媒体查询,如下所示:
export const Container = styled.div`
font-size: 16px
@media only screen and (max-width: 600px) {
font-size: 12px
}
`;