【发布时间】:2018-09-21 19:46:12
【问题描述】:
我正在尝试在 HTML/CSS/Javascript 中实现滑动轮播。我有 5 张幻灯片,每张都是 100% 宽度和高度的 div。在 javascript 中,我将 5 个 div 水平排列,将第一张幻灯片设置为填充屏幕,而将其他 4 个幻灯片设置为屏幕外。我使用.css('left', i * this.slideWidth); 来实现这一点。
每张幻灯片都包含一个包含一些文本的跨度。跨度的位置设置为绝对,这应该意味着它跟随父幻灯片。但是,它们都堆叠/重叠在屏幕上的同一位置,即使幻灯片正确定位在屏幕外。
我的 HTML:
<!DOCTYPE html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript" src="slide.js"></script>
</head>
<body>
<div class = "container" id = "container">
<div class="slide" id="slide1"><span>Slide 1</span></div>
<div class="slide" id="slide2"><span>Slide 2</span></div>
<div class="slide" id="slide3"><span>Slide 3</span></div>
<div class="slide" id="slide4"><span>Slide 4</span></div>
<div class="slide" id="slide5"><span>Slide 5</span></div>
</div>
</body>
我的 CSS:
html, body {
height: 100%;
max-width: 100%;
overflow: hidden;
}
#container {
height: 100%;
width: 100%;
white-space: nowrap;
overflow: hidden;
position: relative;
}
.slide {
height: 100%;
width: 100%;
position: absolute;
}
.slide span {
position:absolute;
top:0px;
left:0px;
color: white;
font-size: 26px;
}
#slide1 {background: blue;}
#slide2 {background: green;}
#slide3 {background: red;}
正如您在 CSS 中看到的,父幻灯片和子跨度都将位置设置为绝对。这不应该意味着跨度随着幻灯片移动吗?
【问题讨论】:
-
一切看起来都不错,既然如此,您需要提供一个 工作 代码 sn-p 来重现该问题。
标签: javascript jquery html css