我有一个文件,其中定义了一些用于边框阴影、渐变等的CSS3
规则。
为了可比性,我需要behavior: url('/assets/css3pie.htc');
在 IE 中添加 for 支持。
@mixin box-shadow($props) {
-webkit-box-shadow: #{$props};
-moz-box-shadow: #{$props};
box-shadow: #{$props};
behavior: url('/assets/css3pie.htc');
}
为我的大多数CSS3添加了行为规则,例如边框阴影、渐变和边框半径。
不幸的是,我注意到在输出中,当我使用两个或更多这些 CSS3 规则时,我最终也会得到多个behavior: url('/assets/css3pie.htc');
给定对象的规则。
一个示例输出是:
button {
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
behavior: url("/assets/css3pie.htc"); # first time defined by the border-radius rule
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
behavior: url("/assets/css3pie.htc"); # second time, defined from the box-shadow rule
}
哪个是最好的解决方案?有没有办法检查继承树以及是否已经定义了规则?