reactjs - 如何访问媒体查询样式组件中的 postcss 变量?

标签 reactjs media-queries styled-components

我正在使用 CDN,它有一堆定义的 pcss 变量,我想在我的样式组件中使用它们。我可以通过 var(--color-green) 轻松使用颜色变量。但是,媒体查询变量似乎不起作用。有人知道为什么会出现这种情况吗?

这是我尝试过的,其中 --media-query-max-small 在 cdn 中定义为 max-width: 647px

const comp = styled.div`
  @media (var(--media-query-max-small)) { }
`

最佳答案

作为PostCSS的创建者,我建议使用astroturf 。它是带有 styled-components API 的 CSS-in-JS 解决方案,但与 styled-component 相比,astroturf 没有运行时(SC 有 15 KB 运行时),仅在构建期间解析 CSS(SC 每次在客户端解析它) )并支持 PostCSS 和许多其他 CSS 工具。

在你的例子中,只需为 CSS 文件添加 postcss-loader ,为 JS 文件添加 astroturf/loader 。一切都会顺利。

关于reactjs - 如何访问媒体查询样式组件中的 postcss 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52804733/

相关文章:

javascript - 在 React 中将样式化组件作为 prop 传递

javascript - 如何使用 useEffect() 更改 React-Hook-Form defaultValue?

css - 响应式设计的多重媒体查询声明

html - CSS 在移动设备上搞砸了 - bootstrap

javascript - 使用 styled-components 来居中 React Bootstrap Modal

reactjs - 带有样式组件的 onClick 的 typescript 问题

android - "Error using newLatLngBounds(LatLngBounds, int): Map size can' t 为零...."在 Android 上使用 react-native-maps

javascript - 更改 react 组件内容时按钮会移动位置

javascript - 为什么 React 会同时显示我的所有组件?

jquery - 基于媒体查询和视口(viewport)大小运行 Jquery 函数