使用 CSS/HTML 移动幻灯片 [英] Moving a slideshow using CSS/HTML
问题描述
我对 HTML/CSS 非常陌生,偶然发现了一个教程,可以帮助我为我正在制作的网站创建图像幻灯片.我想出了如何让幻灯片工作,但仍然没有想出如何移动它.抱歉,如果格式关闭,我会使用更漂亮的并且不太确定我是否喜欢它.提前致谢!
/*图片滑块*/.slide-容器{顶部:150%;宽度:586px;高度:330;左边距:自动;右边距:自动;溢出:隐藏;文本对齐:居中;}.图像容器{顶部:100%;宽度:2344px;高度:330;位置:相对;过渡:左0.5s;-webkit-transition: 左 0.5s;-moz-transition: 左 1s;}.slider-image {向左飘浮;边距:0px;填充:0px;}.button 容器 {顶部:120%;位置:相对;}.slider-button {顶部:120%;显示:内联块;高度:10px;宽度:10px;边框半径:5px;背景色:#fff;}#slider-image-1:target~.image-container {左:0px;}#slider-image-2:target~.image-container {左:-586px;}#slider-image-3:target~.image-container {左:-1172px;}#slider-image-4:target~.image-container {左:-1758px;}
<h1>照片级风景</h1><div class="slide-container"><span id="slider-image-1"></span><span id="slider-image-2"></span><span id="slider-image-3"></span><span id="slider-image-4"></span><div class="image-container"><img src="https://via.placeholder.com/150" class="slider-image"/><img src="https://via.placeholder.com/150" class="slider-image"/><img src="https://via.placeholder.com/150" class="slider-image"/><img src="https://via.placeholder.com/150" class="slider-image"/>
<div class="button-container"><a href="#slider-image-1" class="slider-button"></a><a href="#slider-image-2" class="slider-button"></a><a href="#slider-image-3" class="slider-button"></a><a href="#slider-image-4" class="slider-button"></a>
由于您还没有描述您需要哪种类型的幻灯片,我创建了可以自动运行或可由用户控制的幻灯片.用户点击或网站加载后,它会在 10 秒内启动自动幻灯片放映.每 3 秒自动更换幻灯片.看看这个片段:
var slideIndex = 0;var timer1,定时器;var slides = document.getElementsByClassName("mySlides");var dots = document.getElementsByClassName("dot");function showSlides() {//由自动幻灯片调用clearTimeout(timer1);//清除之前设置的定时器//清除样式for (var i = 0; i < slides.length; i++)幻灯片[i].style.display = "none";for (var i = 0; i < dots.length; i++)dots[i].className = dots[i].className.replace(" active", "");//重置幻灯片索引if (++slideIndex == slides.length)幻灯片索引 = 0;//重置样式幻灯片[slideIndex].style.display = "block";dots[slideIndex].className += "active";//重置定时器timer1 = setTimeout(showSlides, 3000);}function showSlide(n) {//当用户手动选择特定幻灯片时调用//清除之前设置的定时器清除超时(定时器 1);清除超时(定时器);//清除样式for (var i = 0; i < slides.length; i++)幻灯片[i].style.display = "none";for (var i = 0; i < dots.length; i++)dots[i].className = dots[i].className.replace(" active", "");//重置幻灯片索引如果(n == 幻灯片.长度)幻灯片索引 = 0;如果 (n <0)幻灯片索引 = 幻灯片.长度;//重置样式幻灯片[slideIndex].style.display = "block";dots[slideIndex].className += "active";//重置自动幻灯片的计时器timer = setTimeout(showSlides, 10000);}
/* 使宽度、高度、最小/最大属性包括内容、填充和边框 */* {box-sizing:border-box}/* 幻灯片容器 */.slideshow-container {宽度:50vw;高度:50vh;位置:相对;保证金:自动;清除:两者;背景颜色:黑色;}/* 默认隐藏图片 */.mySlides {显示:无;}/* 使图像适合幻灯片宽度 */.mySlides img {边距:0;位置:绝对;顶部:50%;左:50%;-ms-transform: 翻译 (-50%, -50%);变换:翻译(-50%,-50%);文本对齐:居中;高度:50vh;对象适合:填充;}/* 下一个 &上一个按钮 */.prev, .next {光标:指针;位置:绝对;顶部:50%;边距:0;宽度:自动;填充:16px;白颜色;字体粗细:粗体;字体大小:xx-大;过渡:0.6s;用户选择:无;-ms-transform: translateY(-50%);变换:translateY(-50%);}/* 将下一步按钮"放在右侧 */.下一个 {右:0;}/* 在悬停时,添加一个黑色背景颜色,有点透明 */.prev:hover, .next:hover {背景颜色:黑色;不透明度:0.7;}/* 标题文本 */.文本 {颜色:#f2f2f2;字体大小:4em;padding-bottom: : 12px;位置:绝对;底部:8px;宽度:100%;文本对齐:居中;}/* 数字文本(1/3 等)*/.numbertext {颜色:#f2f2f2;字体大小:1.5em;填充:8px 12px;位置:绝对;顶部:0;z-索引:1;}/* 点容器 */.dots-容器{文本对齐:居中;}/* 点/项目符号/指标 */.dot {光标:指针;高度:15px;宽度:15px;边距:0 2px;背景颜色:#bbb;边界半径:50%;显示:内联块;过渡:背景色 0.6s 缓和;}.active, .dot:hover {背景色:#717171;}/* 淡入淡出动画 */.褪色 {-webkit-animation-name:淡入淡出;-webkit-animation-duration: 1.5s;动画名称:淡入淡出;动画持续时间:1.5s;}@-webkit-keyframes 淡出 {来自{不透明度:.4}到{不透明度:1}}@关键帧淡出{来自{不透明度:.4}到{不透明度:1}}/* 小设备特定的改动 */@media only screen and (max-width: 600px) {/* 幻灯片容器 */.slideshow-container {宽度:96vw;}.文本 {字体大小:1.5em;}.numbertext {字体大小:1em;}/* 下一个 &上一个按钮 */.prev, .next {填充:4px;字体粗细:粗体;字体大小:大;}}
<html lang="zh-cn"><头><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>苹果</title>头部><!-- 在页面加载时开始幻灯片放映.--><body onload="showSlide(1);"><div class="title"><h1>照片级风景</h1>
<!-- 幻灯片容器--><div class="slideshow-container"><!-- 带有数字和标题文本的全角图像--><div class="mySlides 淡出" ><div class="numbertext">1/4</div><img src="red.png"><div class="text">Caption Text</div>
<div class="mySlides 淡入淡出"><div class="numbertext">2/4</div><img src="blue.png"><div class="text">标题二</div>