编译LESS时出现问题的特殊字符



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

.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——这会在代码中产生奇怪的工件吗?谢谢

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(只是无声地忽略了无效的+)。

最新更新