我正在尝试生成一些相对于屏幕高度的内容,并决定尝试使用 LESS 来生成类似的内容,即使作为测试有点重:
@baseHeight: 1px;
.setRelativeHeight(@screenHeight, @minHeightDiff, @maxHeightDiff) when(@screenHeight < 2400) {
@media (min-height: @baseHeight * @screenHeight) {
min-height: @baseHeight * (@screenHeight - @minHeightDiff);
max-height: @baseHeight * (@screenHeight - @maxHeightDiff);
}
.setRelativeHeight(@screenHeight + 20, @minHeightDiff, @maxHeightDiff);
}
这似乎大部分都有效,但这是它在调用它时生成的部分内容:
@media not all {
#ConversationMessages .messages {
max-height: 2100px;
min-height: 2000px;
}
}
@media not all {
#ConversationMessages .messages {
max-height: 2120px;
min-height: 2020px;
}
}
@media not all {
#ConversationMessages .messages {
max-height: 2140px;
min-height: 2040px;
}
}
@media not all {
#ConversationMessages .messages {
max-height: 2160px;
min-height: 2060px;
}
}
因此样式设置正确,但媒体条件丢失了:(有人知道为什么吗?:)
谢谢!!
更新 修复了在媒体条件中添加括号的问题(请参阅下面的评论)。
最佳答案
@media
查询中的算术运算应始终位于括号中,无论 --strict-math
如何选项。 IE。应为@media(最小高度:(@baseHeight * @screenHeight))
。
关于css - 使用 LESS 递归函数和媒体查询生成样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24241544/