Less - 如何将 @variable 插入属性(而不是值)
在 less.js 中,我可以毫无问题地用变量替换值。
@gutter: 20px;
margin-left:e(%("-%d"), @gutter);
当尝试用变量替换属性时,我收到错误。我将如何在 Less 中执行以下操作?
@gutter: 20px;
@direction: left;
e(%("margin-%d"), @direction):e(%("-%d"), @gutter);
In less.js, I'm able to replace values with variables with no problems.
@gutter: 20px;
margin-left:e(%("-%d"), @gutter);
When trying to replace properties with variables, I get errors. How would I perform the following in Less?
@gutter: 20px;
@direction: left;
e(%("margin-%d"), @direction):e(%("-%d"), @gutter);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
感谢 Alvivi 提供的解决方案和研究(您将因此获得奖励)。我决定添加以下内容作为实际答案,因为这是设置它的真正方法,而不是查看 .blah() 伪代码。
这是设置它的真正策略:
然后创建混合来增强边距和填充,例如所以:
..然后你可以只是
或
一起:
轻松轻松的LTR/RTL,少用!哇!
Thanks to Alvivi for the solution and research (you get the reward for that). I decided to add the following as the actual answer since this is a real way to set it up instead of looking at .blah() pseudo code..
Here's a real strategy for setting it up:
then create mixins to enhance margin and padding like so:
.. then you can just
or
all together:
Easy breezy LTR/RTL with LESS! Woot!
正如文档所述,转义用于创建 CSS 值(而不是属性)。
此处讨论了一些解决方法。一种是使用参数混合。例如:
Escaping, as says the documentation, is used to create CSS values (not properties).
There is a discussion with some workarounds here. One would be using parametric mixins. For example: