首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@viewport、@media和更少

@viewport、@media和更少
EN

Stack Overflow用户
提问于 2013-07-17 20:18:41
回答 1查看 1.8K关注 0票数 5

我最近将一些CSS转换为LESS,以便与.NET应用程序一起使用(我正在为.NET使用dotless,http://www.dotlesscss.org/在运行时编译LESS )。

编译器在这两个代码块上崩溃了:

代码语言:javascript
复制
@viewport {
  width: device-width;
}
/* Add a min-width for IE 8 and lower */
@media \0screen\,screen\9 {
    body {
        min-width: 960px;
    }
}

仅供参考,上面的媒体查询是针对IE的一种粗俗方式

我如何“精简”这些代码块呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-17 20:38:27

在Less >= 1.4.0中,您可以简单地定义一个变量并在媒体查询中使用它:

代码语言:javascript
复制
@iehack: \0screen\,screen\9;

@media @iehack {
    body {
        min-width: 960px;
    }
}

在LESS (<=1.3.3)的旧版本中,您可能希望在变量中使用字符串插值:

代码语言:javascript
复制
@iehack: ~'\0screen\,screen\9';

这将为您提供所需的输出。

但是如果你想在CSS中采用一种老套的方式,你也可以在LESS中采用一种老套的方式:

代码语言:javascript
复制
@themedia: ~"@media \0screen\,screen\9 {";
@aftermedia: ~"} after";
@{themedia} {
    body {
        min-width: 960px;
    }
}
@{aftermedia}{/*just to add the closing bracket to media*/}

当你在普通角色周围注入媒体查询时,这会在媒体块的末尾生成一个额外的选择器,但你也可以使用它来做一些有用的事情,这种技术可能会在中使用,而不是媒体查询...但我只是想提一下。

在这种情况下,CSS输出将如下所示:

代码语言:javascript
复制
@media \0screen\,screen\9 { 
body {
  min-width: 960px;
}
}
after {
  /*just to add the closing bracket to media*/
}
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17699588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档