CSS高级——制作轮播图


前言

目标:掌握定位的作用及特点;掌握 CSS 高级技巧


提示:以下是本篇文章正文内容,下面案例可供参考

一、网页制作思路

1.从上到下,先整体再局部

2.先标签,再 CSS 美化

3.制作顺序:图片效果>箭头>圆点

注:CSS 书写顺序:
1). 盒子模型属性
2). 文字样式
3). 圆角、阴影等修饰属性

二、代码+效果图

图片效果

<div class="banner">
    <!-- 图: ul > li -->
    <ul>
      <li><a href="#"><img src="./images/banner1.jpg" alt=""></a></li>
      <li><a href="#"><img src="./images/banner2.jpg" alt=""></a></li>
      <li><a href="#"><img src="./images/banner3.jpg" alt=""></a></li>
    </ul>
</div> 
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

li {
  list-style: none;
}

.banner {
  position: relative;
  margin: 100px auto;
  width: 564px;
  height: 315px;
  /* background-color: pink; */
  overflow: hidden;
}

/* 图片 */
.banner img {
  width: 564px;
  border-radius: 12px;
  vertical-align: middle;
}

.banner ul {
  display: flex;
}

箭头

<!-- 箭头 -->
<!-- 上一张 prev -->
<a href="#" class="prev">
  <i class="iconfont icon-zuoce"></i>
</a>
<!-- 下一张 next -->
<a href="#" class="next">
  <i class="iconfont icon-youce"></i>
</a>
/* 箭头 */
.banner .prev,
.banner .next {
  /* 隐藏 */
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);

  width: 20px;
  height: 30px;
  background-color: rgba(0,0,0, 0.3);

  text-decoration: none;
  color: #fff;
  line-height: 30px;
}

/* 鼠标滑到banner区域,箭头要显示 display:block */
.banner:hover .prev,
.banner:hover .next {
  display: block;
}

.banner .prev {
  left: 0;
  border-radius: 0 15px 15px 0;
}

.banner .next {
  right: 0;
  border-radius: 15px 0 0 15px;
  text-align: center;
}

圆点

<!-- 圆点 -->
<ol>
  <li></li>
  <li class="active"></li>
  <li></li>
</ol>
/* 圆点 */
.banner ol {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  height: 13px;
  background-color: rgba(255,255,255,0.3);

  display: flex;

  border-radius: 10px;
}

.banner ol li {
  margin: 3px;
  width: 8px;
  height: 8px;
  background-color: #fff;
  border-radius: 50%;
  cursor: pointer;
}

/* 橙色的li */
.banner ol .active {
  background-color: #ff5000;
}

在这里插入图片描述

  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用HTML、CSS和JavaScript来制作轮播图。其中,HTML用于搭建轮播图的基本结构,CSS用于美化轮播图的样式,JavaScript用于实现轮播图的动态效果。以下是一个简单的轮播图的HTML、CSS和JavaScript代码示例: HTML代码: ``` <div class="slider"> <div class="slides"> <img src="image1.jpg"> <img src="image2.jpg"> <img src="image3.jpg"> </div> </div> ``` CSS代码: ``` .slider { width: 100%; height: 400px; overflow: hidden; } .slides { display: flex; width: 300%; height: 100%; } .slides img { width: 33.333%; height: 100%; object-fit: cover; } ``` JavaScript代码: ``` const slider = document.querySelector('.slider'); const slides = document.querySelector('.slides'); const images = document.querySelectorAll('.slides img'); let counter = 1; const size = images[0].clientWidth; slides.style.transform = 'translateX(' + (-size * counter) + 'px)'; setInterval(() => { slides.style.transition = 'transform 0.5s ease-in-out'; counter++; slides.style.transform = 'translateX(' + (-size * counter) + 'px)'; }, 3000); slides.addEventListener('transitionend', () => { if (images[counter].id === 'lastClone') { slides.style.transition = 'none'; counter = images.length - 2; slides.style.transform = 'translateX(' + (-size * counter) + 'px)'; } if (images[counter].id === 'firstClone') { slides.style.transition = 'none'; counter = images.length - counter; slides.style.transform = 'translateX(' + (-size * counter) + 'px)'; } }); ``` 这段代码实现了一个基本的轮播图,每隔3秒钟自动切换一张图片。你可以根据自己的需求修改HTML、CSS和JavaScript代码来实现更加复杂的轮播图效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值