javascript – 使用gulp-spritesmith属性生成a:hover规则而不是类选择器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 使用gulp-spritesmith属性生成a:hover规则而不是类选择器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1911字,纯文字阅读大概需要3分钟。
内容图文
我使用gulp-spritesmith来生成我的精灵,我遇到了一个问题:
我想将一些生成的样式作为悬停规则的属性,而不是类选择器.在mouseover事件上添加类看起来很丑,我不认为它是一个解决方案.
例如:
.icon-sr_ext_icon_right {
background-image: url(/imgs/static/external_sprite.png);
background-position: -300px -100px;
width: 50px;
height: 50px;
}
.icon-sr_ext_icon_right_hovered {
background-image: url(/imgs/static/external_sprite.png);
background-position: -222px -200px;
width: 50px;
height: 50px;
}
成为:
.icon-sr_ext_icon_right {
background-image: url(/imgs/static/external_sprite.png);
background-position: -300px -100px;
width: 50px;
height: 50px;
}
.icon-sr_ext_icon_right:hover{
background-image: url(/imgs/static/external_sprite.png);
background-position: -222px -200px;
width: 50px;
height: 50px;
}
这是我的gulp任务代码:
gulp.task('external_sprite', function() {
var spriteData =
gulp.src(paths.external.sprite)
.pipe(plugins.debug( { title: "Processing image for external sprite:" } ) )
.pipe(plugins.spritesmith({
imgName: 'external_sprite.png',
imgPath: '/imgs/static/external_sprite.png',
cssName: 'external_sprite.css'
}));
spriteData.img.pipe(gulp.dest('./www/imgs/static/'));
spriteData.css.pipe(gulp.dest('./' + paths.external.src));
});
解决方法:
我找到了一种如何使用sass技术自动创建悬停效果样式的方法.简单地说,生成sprite,而不是将生成的css导入另一个sass文件并扩展所需的类:
@import 'external_sprite';
.icon-sr_ext_icon_right:hover {
@extend .icon-sr_ext_icon_right_hovered;
}
另一种方式是由issue on github中插件的主要贡献者提出的.想法是使用cssOpts.cssClass:
cssOpts: {
cssSelector: function (item) {
// If this is a hover sprite, name it as a hover one (e.g. 'home-hover' -> 'home:hover')
if (item.name.indexOf('-hover') !== -1) {
return '.sprite-' + item.name.replace('-hover', ':hover');
// Otherwise, use the name as the selector (e.g. 'home' -> 'home')
} else {
return '.sprite-' + item.name;
}
}
}
但是,如果要设置样式文件的.scss扩展名,则此解决方案无效.
内容总结
以上是互联网集市为您收集整理的javascript – 使用gulp-spritesmith属性生成a:hover规则而不是类选择器全部内容,希望文章能够帮你解决javascript – 使用gulp-spritesmith属性生成a:hover规则而不是类选择器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。