Inheritance 如何在手写笔中进行部分导入
如何在手写笔中实现部分导入(扩展、包含、继承)?Inheritance 如何在手写笔中进行部分导入,inheritance,import,extend,partial,stylus,Inheritance,Import,Extend,Partial,Stylus,如何在手写笔中实现部分导入(扩展、包含、继承)? 例如,我有两个文件: foo.stylbody{color:orange}a{color:blue} 柱状图 在文件bar.styl中,我希望放置body{color:orange}来自foo.styl但不希望a{color:blue} 它是如何实现的?在触控笔中还没有这样的东西。可以使用以下技巧: $foo @import 'test2' body @extends $foo body 但是手写笔有一个错误:-阻止它正确渲染。此
例如,我有两个文件:
- foo.styl
body{color:orange}a{color:blue}
- 柱状图
bar.styl
中,我希望放置body{color:orange}
来自foo.styl
但不希望a{color:blue}
它是如何实现的?在触控笔中还没有这样的东西。可以使用以下技巧:
$foo
@import 'test2'
body
@extends $foo body
但是手写笔有一个错误:-阻止它正确渲染。此错误在Stylus 0.49.0中已修复,因此如果您使用此版本或更高版本,一切都应该正常
由于只有当您尝试使用@extends
的选择器与嵌套选择器匹配时,问题才会发生,因此您可能会在某种程度上欺骗手写笔,使其认为选择器不同。最简单、最简单的方法是这样写:
$foo
@import 'test2'
* > body
@extends $foo body
这将使手写笔不认为这些选择器相等,并正确地输出*>正文。虽然星形选择器通常是有害的,但在这种情况下并非如此:因为它位于左侧,并且有一个子组合符,所以当选择器匹配发生时,它不会导致性能问题,并且因为星形选择器没有任何特定性,所以它不会干扰给定规则的特定性
但是,如果您可以稍等,我们可以尝试修复Stylus中的此错误,以便您可以在下一个版本中使用此答案开头的修复代码。非常感谢!我现在将尝试解决方法,并将等待新版本。抱歉,不。它不起作用。它之所以有效,是因为最后的评论:(我刚刚意识到了这一点。但当我删除它时,它就停止了工作。>>>7 |@extends$foo.{prefix}#social>>>>>无法读取未定义的属性“type”grunt contrib stylus
这有意义吗?插值在@extends
上无法完美工作,因此最好在插值中执行所有操作,例如:@extends{'$foo.%s#social'%prefix}
。此外,答案中提到的bug的修复程序已经在Stylus 0.49.0中,因此如果您将Stylus更新到此版本,它应该可以在没有解决方法的情况下工作。好的,但它没有在中描述,因此我无法知道一些其他内容,例如-如何从a{color:red;padding:50px;}复制color
。只对部分继承感兴趣。非常感谢!