将 Less.js 变量传递给媒体查询
Pass Less.js variable into media query
我想将这个变量传递给媒体查询:
@browser-main-and-sidebar: @main-width + @main-spacer + @sidebar-width + @outer-padding*2;
其中:
@outer-padding: 20px;
@main-width: 600px;
@main-spacer: 10px;
@sidebar-width: 290px;
当我写出来的时候:
@media (min-width: @browser-main-and-sidebar) {
max-width: @browser-main-and-sidebar;
}
生成的CSS是:
@media (min-width: 600px + 10px + 290px + 20px*2) {
.Jobzi__core {
max-width:1240px;
background: black
}
}
有没有办法强制将变量计算为单个像素值?
正如上面评论中 所述,@media
查询中隐含了严格的数学运算。
With strict math on, only maths that is inside un-necessary parenthesis will be processed.
因此您需要将要计算的变量括在括号内:
@browser-main-and-sidebar: (@main-width + @main-spacer + @sidebar-width + @outer-padding * 2);
..或:
@media (min-width: (@browser-main-and-sidebar)) {
max-width: @browser-main-and-sidebar;
}
两者都将编译为所需的结果:
@media (min-width: 940px) {
max-width: 940px;
}
@outer-padding: 20px;
@main-width: 600px;
@main-spacer: 10px;
@sidebar-width: 290px;
@browser-main-and-sidebar: @main-width + @main-spacer + @sidebar-width + @outer-padding * 2;
@media (min-width: (@browser-main-and-sidebar)) {
max-width: @browser-main-and-sidebar;
}
我想将这个变量传递给媒体查询:
@browser-main-and-sidebar: @main-width + @main-spacer + @sidebar-width + @outer-padding*2;
其中:
@outer-padding: 20px;
@main-width: 600px;
@main-spacer: 10px;
@sidebar-width: 290px;
当我写出来的时候:
@media (min-width: @browser-main-and-sidebar) {
max-width: @browser-main-and-sidebar;
}
生成的CSS是:
@media (min-width: 600px + 10px + 290px + 20px*2) {
.Jobzi__core {
max-width:1240px;
background: black
}
}
有没有办法强制将变量计算为单个像素值?
正如上面评论中 @media
查询中隐含了严格的数学运算。
With strict math on, only maths that is inside un-necessary parenthesis will be processed.
因此您需要将要计算的变量括在括号内:
@browser-main-and-sidebar: (@main-width + @main-spacer + @sidebar-width + @outer-padding * 2);
..或:
@media (min-width: (@browser-main-and-sidebar)) {
max-width: @browser-main-and-sidebar;
}
两者都将编译为所需的结果:
@media (min-width: 940px) {
max-width: 940px;
}
@outer-padding: 20px;
@main-width: 600px;
@main-spacer: 10px;
@sidebar-width: 290px;
@browser-main-and-sidebar: @main-width + @main-spacer + @sidebar-width + @outer-padding * 2;
@media (min-width: (@browser-main-and-sidebar)) {
max-width: @browser-main-and-sidebar;
}