详解用backgroundImage解决图片轮播切换

简介: 详解用backgroundImage解决图片轮播切换

详解用backgroundImage解决图片轮播切换

css媒体查询有一个 宽高比很方便,aspect-ratio ,可以直接使用宽/高 来进行页面适配 使用样例如下:

单dom节点实现轮播
利用backgroundImage可以添加多张图片,以及位置偏移实现轮播效果
backgroundImage,图片轮播
创建一个div;并用backgroundImage给div附图片
利用backgroundPosition调节位置
利用css3 transition调节过渡
即可替代简单的图片切换
/**
* 播放图片
*/
function playImage(src) {
if (animaitionFinshed) return;
if (!_imageEl) {
_imageEl = document.createElement('div')
_imageEl.className = `swiper_container`;
_imageEl.style.backgroundImage = `url(${src.url})`;
_imageEl.setAttribute("data-img", src.url);
elContainer.appendChild(_imageEl);
} else {
animaitionFinshed = true;
let width = elContainer.clientWidth, height = elContainer.clientHeight;
let preImage = _imageEl.getAttribute("data-img");
_imageEl.style.backgroundImage = `url(${preImage}),url(${src.url}) `;
_imageEl.style.backgroundPositionX = `center,${width + 20}px`;
setTimeout(() => {
_imageEl.style.transition = "all 0.8s ease";
_imageEl.style.backgroundPositionX = `-${width + 20}px,center`;
}, 0);
setTimeout(() => {
_imageEl.style.transition = "none";
_imageEl.style.backgroundImage = `url(${src.url}) `;
_imageEl.style.backgroundPositionX = `center`;
_imageEl.setAttribute("data-img", src.url)
animaitionFinshed = false;
}, 800)
}
}

注意三点:

1、宽高比一定是比值的形式,不能直接写小数,宽/高

2、在less中直接写宽高比也不会生效,因为less会编译成小数,可以在比值前面加一个 ~ 完美解决

3、避免样式覆盖,最好把大比例的媒体查询写在后面

总结

以上所述是博主给大家介绍的css 媒体查询 aspect-ratio less 使用方法,希望对大家有所帮助


相关文章
|
1月前
|
JavaScript
js实现的精美彩色tab选项卡切换特效源码
js实现的精美彩色tab选项卡切换特效源码是一段基于JS实现的文件夹tab选项卡切换效果,拥有彩色、单色两种选择,点击标签选项卡可实现相应的变色效果,非常有意思,欢迎对此段代码感兴趣的朋友前来下载使用。
31 2
|
4月前
|
前端开发 JavaScript
一键复制HTML+CSS动画:让轮播图效果酷炫升级!
一键复制HTML+CSS动画:让轮播图效果酷炫升级!
|
5月前
|
Web App开发 前端开发
css小技巧——鼠标悬浮时切换图片
css小技巧——鼠标悬浮时切换图片
404 0
|
7月前
|
JavaScript 前端开发
Vue鼠标悬浮切换图片
Vue鼠标悬浮切换图片
49 0
|
JavaScript 前端开发
jQuery点击图片来回切换功能
jQuery点击图片来回切换功能
104 0
jQuery点击图片来回切换功能
|
前端开发
CSS实战笔记(七) 全屏切换
CSS实战笔记(七) 全屏切换
90 0
|
Android开发
android图片切换ImageSwichter的动画切换效果
android图片切换ImageSwichter的动画切换效果
384 1
|
JavaScript IDE 开发工具
Html+CSS+JS 实现轮播切换
Html+CSS+JS 实现轮播切换
Html+CSS+JS 实现轮播切换
|
Web App开发 JavaScript 前端开发
自制jQuery焦点图切换简易插件
首页经常是需要一个焦点图切换的效果,最近做的项目也正好需要,所以在网上搜索,后面查到了一个半成品的插件,这里我自己修改了一下。
自制jQuery焦点图切换简易插件