css - 使用 LESS 递归函数和媒体查询生成样式

标签 css less

我正在尝试生成一些相对于屏幕高度的内容,并决定尝试使用 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/

相关文章:

Android WebView对hr标签进行CSS修改

css - 使用 LESS CSS 定义可变变量

html - 重新排列 Div 结构

css - Bootstrap 导航栏未正确对齐

html - CSS: 我的 "display:inline block"拒绝转换?

css - 在单元格表内创建一个 span 以达到 100% 高度

css - 如何在 Notepad++ 中为 Less 添加语法高亮显示?

css - 将多行 css 保存在 less 变量中

node.js - 如何在 Windows 环境中从 Rake 任务调用 Nodejs 来编译一些 LESS 文件?

css - 将两个 .less 文件合并为一个 css 文件