如何告诉Stylus不要将CSS属性解释为mixin?
我正在添加对从右到左语言的支持,并希望将如何告诉Stylus不要将CSS属性解释为mixin?,css,right-to-left,stylus,Css,Right To Left,Stylus,我正在添加对从右到左语言的支持,并希望将marginleft重新定义为marginright等(有和margininlineend等,但它们在Edge中还不受支持)。因此,对于触控笔,我尝试了以下方法: margin-right() margin-left: arguments; margin-left() margin-right: arguments; 但是,当触控笔看到margin right:10px时,触控笔会变为margin left:10px,然后将margin lef
marginleft
重新定义为marginright
等(有和margininlineend
等,但它们在Edge中还不受支持)。因此,对于触控笔,我尝试了以下方法:
margin-right()
margin-left: arguments;
margin-left()
margin-right: arguments;
但是,当触控笔看到margin right:10px
时,触控笔会变为margin left:10px
,然后将margin left
重新解释为margin right:10px
——最终结果是:什么也不会发生
(如果我改为重新定义为margintestleft:…
,则其工作原理与预期相同:marginright:10px
变为margintestleft:10px
)
如何告诉Stylus将
margin left:arguments
解释为“real”margin left
,而不是对margin-left()
mixin的函数调用?在哪些情况下,您需要它是mixin而不是实际值?这并不是你想要的答案,但我喜欢遵循变量和混合的命名约定,在它们前面加上$sign,这对我来说很明显。所以$margin right
当您需要mixin@webdevdani-在构建RTL样式包时,这需要始终是mixin,除了两个margin-(左|右):参数代码>上面的行。而且,当构建一个从左到右的包时,我根本不包括这些混音我喜欢$
前缀的想法,这就是我通常的做法。不过,在这种情况下,通过在没有$
的情况下定义mixin,我可以将RTL支持添加到我的web应用程序中,而无需更改任何一行旧的现有手写笔代码(在1000个位置添加$
将很容易出错,很好地避免了这一点:-))。您如何确定其RTL模式?我有潜力idea@webdevdani-这是每个讨论论坛的配置值。论坛中的所有文本都应该使用相同的语言。例如,所有东西都是希伯来语或阿拉伯语等。您是否可以从CSS中访问这些信息?比如你是在添加一个类还是通过某种方式传递这个?