Css 在字符串变量中使用calc()函数的Less
我试着用更少的时间做这件事 @屏幕lg:1200px @笔记本电脑:~“仅屏幕和(最小宽度:768px)和(最大宽度:@{calc(屏幕lg-1px)}”) 直到1199px。但它不喜欢它 是否可以在字符串变量中使用calc()函数进行操作Css 在字符串变量中使用calc()函数的Less,css,less,media-queries,Css,Less,Media Queries,我试着用更少的时间做这件事 @屏幕lg:1200px @笔记本电脑:~“仅屏幕和(最小宽度:768px)和(最大宽度:@{calc(屏幕lg-1px)}”) 直到1199px。但它不喜欢它 是否可以在字符串变量中使用calc()函数进行操作 谢谢。媒体查询必须在运行时进行评估,通常在构建时编译更少的查询。要完成这类工作,您可能需要客户端Javascript版本,并且每次调整窗口大小时重新编译更少的脚本,因此可能没有必要使用更少的脚本,您可以使用Javascript更快(更干净)地完成 也就是说,
谢谢。媒体查询必须在运行时进行评估,通常在构建时编译更少的查询。要完成这类工作,您可能需要客户端Javascript版本,并且每次调整窗口大小时重新编译更少的脚本,因此可能没有必要使用更少的脚本,您可以使用Javascript更快(更干净)地完成
也就是说,如果您尝试这样做,您可能必须向后执行(即,将较小的变量包装在媒体查询中)。但我不确定这是否有意义。我认为您不需要任何
计算。您可以通过以下方式获得您想要的:
1.
@屏幕lg:1200px;
@屏幕lg最大值:(@屏幕lg-1);
@笔记本电脑:~“仅屏幕和(最小宽度:768px)和(最大宽度:@{screen lg max})”;
@笔记本电脑媒体{
颜色:红色;
}
2.
@屏幕lg:1200px;
@笔记本电脑:~“仅屏幕和(最小宽度:768px)和(最大宽度:(@screen lg-1)~”;
@笔记本电脑媒体{
颜色:红色;
}
3.
(减1.7.0):
@屏幕lg:1200px;
.笔记本电脑(@styles){
@媒体屏幕和(最小宽度:768px)和(最大宽度:(@screen lg-1)){
@样式();
}
}
.笔记本电脑({
颜色:红色;
});
以上三个代码段都会生成以下CSS:
@仅介质屏幕和(最小宽度:768px)和(最大宽度:1199px){
颜色:红色;
}
由于Less是在构建时解析的,所以您可以只使用内置的数学功能。无需计算。这很好:
@screen-lg : 1200px;
@laptopsize: @screen-lg - 1px;
@laptop: ~"only screen and (min-width: 768px) and (max-width: @{laptopsize})";
@media @laptop {
div{background: black;}
}
除非我误解了OP,否则这应该是公认的答案。