Reactjs 对react项目的全局媒体查询
我试图在带有全局断点的SCS上生成样式的一般结构,作为react项目上的媒体查询,可以重用结构来跟踪我们声明为全局的媒体查询。 我对这个有点迷茫,有什么想法吗 当我指的是全局时,我们可以在项目的根定义断点,并且可以使用组件上的任何引用Reactjs 对react项目的全局媒体查询,reactjs,sass,Reactjs,Sass,我试图在带有全局断点的SCS上生成样式的一般结构,作为react项目上的媒体查询,可以重用结构来跟踪我们声明为全局的媒体查询。 我对这个有点迷茫,有什么想法吗 当我指的是全局时,我们可以在项目的根定义断点,并且可以使用组件上的任何引用 提前感谢。我想到了三种方法: 您可以创建一个variables.scss文件,您可以在其中写入断点的值: $sm:576px; $md:768px; $lg:992px; $xl:1200像素 并在SCS中使用以下变量: @media only screen an
提前感谢。我想到了三种方法:
variables.scss
文件,您可以在其中写入断点的值:$sm:576px;
$md:768px;
$lg:992px;
$xl:1200像素代码>
并在SCS中使用以下变量:
@media only screen and (min-width: $sm) {
.container {
.max-width: 450px;
}
}
@media only screen and (min-width: $md) {
.container {
.max-width: 650px;
}
}
@media only screen and (min-width: $lg) {
.container {
.max-width: 900px;
}
}
@media only screen and (min-width: $xl) {
.container {
.max-width: 1000px;
}
}
或者,您可以在mixins.scss
文件中使用上述变量来创建一些媒体查询mixin:
@mixin小型{
@仅介质屏幕和(最小宽度:$sm){
@内容;
}
}
然后,在您的主要scss代码中使用这些混音:
.container {
@include small {
max-width: 450px;
}
...
}
或者,如果这些媒体查询的使用情况有限(例如隐藏和显示元素),您可以定义包含所有变体的其他混合:
$displays:无内联块块表单元格表行flex内联flex;
$size:(
sm:$sm,
md:$md,
lg:$lg,
lg:$xl
);
@$中的每个$显示将显示:
@每个$size键$size in$size{
.display-#{size key}-#{display}{
显示:$display!重要;
}
}
}
关于导入文件的注意事项:我个人会将我的所有助手SCS(变量、混合等)导入到项目根目录中名为style/index.scss
的文件中,其中包含我想要定义的规范化规则和其他全局规则,然后将此文件导入我的其他SCS文件中:
// styles/index.scss
@import './variables.scss';
@import './mixins.scss';
...
// container.scss
@import './styles/index.scss';
这个问题需要更多的细节。当你说“全局”时,你的意思是说你只想在应用程序的顶层包含样式,而不是逐个组件声明样式吗?我将在我的所有组件上引用这个variables.scs?或者该文件将自动在每个组件上引用?很好,这是最后一个问题。您知道导入是针对每个组件进行复制,还是在我们进入部署后减少导入?当然知道!在每个要使用这些值的文件中导入index.scss
文件,但是当它传输时,所有内容只导入一次!此外,css输出中没有任何变量定义!附言:如能投票支持,我们将不胜感激。:)