用html+css怎么写出带按钮的轮播图?

html-css015

用html+css怎么写出带按钮的轮播图?,第1张

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>css实现轮播图</title>

<style>

body {

margin: 0

background: #dfe

}

ul {

margin: 0

padding: 0

list-style: none

}

.my-swiper {

position: relative

width: 800px

height: 450px

margin: 100px auto

overflow: hidden

}

.swiper-list {

position: absolute

top: 0

left: 0

width: 4000px

height: 100%

overflow: hidden

animation: swiper 10s steps(1, end) infinite

transition: left 1s linear

}

.swiper-slide {

width: 800px

height: 100%

float: left

overflow: hidden

}

.swiper-slide a {

display: block

height: 100%

}

.swiper-slide img {

display: block

width: 100%

height: 100%

object-fit: cover

}

/* 分页 */

.pagination {

position: absolute

bottom: 0

left: 0

right: 0

line-height: 45px

background: rgba(255, 255, 255, 0.3)

text-align: center

}

.dot {

display: inline-block

width: 10px

height: 10px

margin: 0 2px

background: #fff

border-radius: 50%

}

/* 橙色小圆点 */

.dot.active {

position: absolute

left: 356px

top: 18px

width: 11px

height: 11px

margin: 0

background: tomato

animation: swiper-dot 10s steps(1, end) infinite

transition: left 1s linear

}

@keyframes swiper {

0%,

100% {

left: 0

}

20% {

left: -800px

}

40% {

left: -1600px

}

60% {

left: -2400px

}

80% {

left: -3200px

}

/* 100% {

left: -3200px

} */

}

@keyframes swiper-dot {

0%,

100% {

left: 358px

}

20% {

left: 376px

}

40% {

left: 395px

}

60% {

left: 413px

}

80% {

left: 432px

}

}

</style>

</head>

<body>

<div>

<ul>

<li class="swiper-slide swiper-slide1">

<a href="javascript:">

<img src="banner.jpg" alt="">

</a>

</li>

<li class="swiper-slide swiper-slide2">

<a href="javascript:">

<img src="banner1.jpg" alt="">

</a>

</li>

<li class="swiper-slide swiper-slide3">

<a href="javascript:">

<img src="banner2.jpg" alt="">

</a>

</li>

<li class="swiper-slide swiper-slide4">

<a href="javascript:">

<img src="banner.jpg" alt="">

</a>

</li>

<li class="swiper-slide swiper-slide5">

<a href="javascript:">

<img src="banner1.jpg" alt="">

</a>

</li>

</ul>

<div>

<span></span>

<span></span>

<span></span>

<span></span>

<span></span>

<span class="dot active"></span>

</div>

</div>

</body>

</html>

1、用脚本(js或jquery)实现:

onmouseover的时候显示播放按钮层(div),onmouseout的时候再隐藏播放按钮层。

2、用css实现:

:hover 伪类在鼠标移到元素上时向此元素添加特殊的样式。

如下是我做的一个小案例(css实现),比较简单,提供一种思路。

【源代码见附件,仅供学习参考使用】。

你说的这个情况我也注意到过

比如说百度视频还有很多视频,我也注意过源码

通用的,大部分的做法是你说的第一种,就是元素先隐藏,等hover的时候再展示出来

也有的是通过js判断的

但是发现大部分都是通过css控制的,我觉得这样做的好处是一旦加载完,只要样式兼容,就没有额外的js开销了,一方面减少js的引用节省内存,一方面这种特效也能满足需要,无需在用js判断,过多的js对网页来说也并非良好的体验

不过最好的办法应该是,css定义当hover时调用另一个css样式,这个样式包含这个图片,你也不用在每个地方都加图片了,对吧

希望能帮助到你