【问题标题】:escape whole declaration in less css在较少的 CSS 中转义整个声明
【发布时间】:2012-01-07 13:26:51
【问题描述】:

是否可以逃避整个声明? 这在 less.js 中符合要求(我正在使用 less.app)

margin: e(" 0 10px");

但这会引发错误:

e("margin: 0 10px");

我尝试将 'margin' 放入变量中,但没有成功。

【问题讨论】:

    标签: less


    【解决方案1】:

    抱歉,这是不可能的。不过有几件事:

    官方转义名称(根据lesscss.org 是波浪号引号,而不是e() 语法,如下所示:

    margin: ~"0 10px";
    

    其次,您提供的代码还不够复杂,不足以保证 LESS CSS 字符串文字。请分享您遇到问题的实际代码。您可能想结束这个问题,然后再问另一个问题。

    第三,记住你可以包含一个 .css 文件——它不会被编译,只是转储到输出中。语法与标准 CSS 导入相同:

    @import "myfile.css";
    

    【讨论】:

    • e() 语法适用于 less.js。我想做的是例如一个 mixine,它会添加供应商前缀,将整个无前缀声明作为参数。
    • 虽然 e() 语法完全有效,但记录在案的语法是 ~"tilde-quote"。无论哪种方式,它都不起作用(正如您发现的那样)。你在使用 lesscss 命名空间吗?#myNamespace {
    • 非常有帮助。在设置背景图像时特别有用! IE。背景:~"url(img......) no-repeat";因为路径可以改变。
    • 如果你需要在你的 CSS(你好 IE)中添加一些甚至不是有效 CSS 语法的东西,你需要指定一个内联导入:@import (inline) "ie-hacks.css";。 Less 根本不会尝试解析它。
    【解决方案2】:

    经过多次尝试,我将其编译并输出到我的less文件中。

    font-family: e("'object-fit: contain;'");
    

    这是 IE object-fit 的一个 hack(我从 object-fit 得到这个想法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-13
      • 2021-08-11
      • 2012-03-06
      相关资源
      最近更新 更多