css - 使用 .png 和 webp 的 Sprite
问题描述
我使用modernizr-custom.js 设置了.webp 和no-webp,它工作正常是许多背景图像的css。
我被困在如何将它应用到下面的代码中,并且尝试了多种方法但没有成功。谢谢你的帮助。使用下面的代码没有图像显示。仅在支持 webt 的浏览器中仅使用 .webp 图像即可,但较旧的浏览器将不支持它。
/******************************************* Sprites *******************************************/
#fancybox-close,
.SI-FILES-STYLIZED .cabinet,
.SI-FILES-STYLIZED .cabinet:hover,
.arrow-link-down,
.arrow-link-up,
.big-btn,
.big-btn:hover,
.checklink-box ul li a,
.close_button,
.crlist,
.crlist:hover,
.ez-checkbox,
.ez-checked,
.ez-radio,
.icon,
.left-col .icon,
.mid-btn,
.mid-btn:hover,
.minus,
.minus:hover,
.plus,
.plus:hover,
.search-btn,
.search-btn:hover,
.selectBox-arrow,
.tip-boxes span.triangle,
.title-icon,
a.arrow-link,
a.arrow-link-left,
a.arrow-link:hover,
a.fb-icon,
a.fb-icon:hover,
a.twitter-icon,
a.twitter-icon:hover,
div#tab-indicator,
footer#footer div.container,
li#login,
li#login>a,
nav.slides-nav ul li a {
.webp background-image: url(../img/sprite.webp);
.no-webp background-image: url(../img/sprite.png);
background-repeat: no-repeat
}
解决方案
你在错误的地方有 .webp 和 .no-webp 类,而不是......
.....
nav.slides-nav ul li a {
.webp background-image: url(../img/sprite.webp);
.no-webp background-image: url(../img/sprite.png);
background-repeat: no-repeat
}
它应该是
.....
.webp nav.slides-nav ul li a {
background-image: url(../img/sprite.webp);
background-repeat: no-repeat
}
.....
.no-webp nav.slides-nav ul li a {
background-image: url(../img/sprite.png);
background-repeat: no-repeat
}
推荐阅读
- laravel - 我想在 Laravel 中显示主页
- xamarin.forms - Xamarin.Forms 如何使居中的 SplashScreen 适合屏幕
- php - Codeigniter:将值从控制器解析到视图
- wordpress - 所有帖子的自定义字段值的总和
- mysql - 即使没有足够的数据,如何始终返回 3 行
- angular - 如何使用 Angular ChangeDetectionStrategy 更快地制作具有多个输入的表格?
- ios - 如何在从 api 获取数据时在完成闭包中运行闭包?
- woocommerce - 使用 save_post 钩子自动创建 Woocommerce SKU
- angular - 如何在 Angular 单元测试中获取 [class.editable] 的值?
- c# - 如何在 MassTransit 中与共享传输提供程序一起使用内存传输?