我在为PostCSS创建插件时遇到问题。
要了解我想要做什么,请查看以下代码:
button {
button: button;
button-border: 3px solid #abcde1;
}
这是我想做的。
如果未设置按钮边框,那么我希望默认值为:
border: none;
但是,如果设置了按钮边框,那么我想使用按钮边框中设置的值。上面的例子就是:
border: 3px solid #abcde1;
我以为我会通过设置变量来做到这一点,但我认为我的范围有问题。这是我尝试过的代码:
css.walkDecls(decl => {
var buttonBorder = 'none',
button = [
'cursor: pointer;',
'display: inline-block;',
'min-height: 1em;',
'outline: none;',
'border:' + buttonBorder
],
joinButton = button.join('');
if (decl.prop === 'button-border') {
var buttonBorder = decl.value;
decl.remove();
}
if (decl.prop === 'button') {
decl.replaceWith(joinButton);
}
});
我知道自己做错了什么以及我该如何做到这一点?
谢谢,
摩西
答案 0 :(得分:0)
以下是我在Postcss github页面上收到的答案:https://github.com/postcss/postcss/issues/691#issuecomment-168686832
我尝试了它并且有效。