编译LESS时导致问题的特殊字符

时间:2015-04-01 20:57:21

标签: css compilation less special-characters

有没有人在使用加号[+]和/或大于[>]符号的LESS编译CSS时遇到问题,而包含这些符号会导致编译错误/失败? (我们使用标准的lessc编译器)。下面的LESS与我们尝试编译的相同 - 在banana.keynote之后的第一个加号是关闭编译器错误的原因:

.banana.keynote {
    + {
        label:before {
            border: 2px solid #CC6633 !important;
        }
    }
}
.banana.chunga {
    + {
        label:before {
            border: 2px solid #ffb5ff !important;
        }
    }
}
.banana.gordita {
    + {
        label:before {
            border: 2px solid #4067ea !important;
        }
    }
}

注意:诚然,我正在使用在线转换器从CSS转到LESS - 这可能会在代码中产生奇怪的工件吗? 感谢。

1 个答案:

答案 0 :(得分:0)

Less中的

Combinators必须始终后跟元素标识符,即您不能单独使用+。将您的代码重写为:

.banana.keynote {
    + label:before {
        border: 2px solid #CC6633;
    }
}

如果你真的需要得到它"单独"由于某种原因,你可以通过选择器插值来破解它:

@plus: ~'+';

.banana.keynote {
    @{plus} {
        label:before {
            border: 2px solid #CC6633;
        }
    }
}

---

P.S。另请注意以下代码:

.banana.keynote + {
    label:before {
        border: 2px solid #CC6633;
    }
}

编译时没有任何错误,不会产生正确的CSS(无效+只是默默地省略)。