css实现点击切换图片效果

css实现点击切换图片效果

我们先来看下效果图:

(相关教程:CSS教程)

切换前:

ba59550ce0f8d5e8afb938c05fba548.png

立即学习“前端免费学习笔记(深入)”;

切换中:
4b90e696a5e4bd9c4456cfeba7a517d.png

切换成功:

7af835e1e8ae016542c805eceaf8e41.png

HTML代码:

来自Limou的尝试解读

来自Limou的尝试解读

1234
Images1Images2Images3Images4
Images1Images2Images3Images4
Images1Images2Images3Images4
Images1Images2Images3Images4

我的世界钻石

小动物松鼠

上古卷轴雪漫城随从

守望先锋不知道是谁

CSS代码:

@charset "utf-8";/* CSS Document */h1{text-align: center;color:deepskyblue;text-shadow: 1px 1px 1px rgba(0,0,0,0.1);/*设置字体的阴影*/}/*顶部a标签动画与样式  开始*/.button{text-align: center;height: 80px;width: 100%;display: block;}.button a{height: 60px;width: 60px;display: inline-block;/*布局属性:内联-块,使其成为并排显示的块级元素,让其宽高可以编辑,且宽高和内外边距可以超过父级元素*/text-decoration: none;/*去除下划线*/line-height: 60px;border-radius: 50%;/*设置字符的行高,通常用于自定义的某些样式,字符在顶部或底部时使用,让其上下居中*/background-color: rgba(104,171,194,0.5);transition:background-color 0.15s linear;/*组合写法*//*transition-property规定设置过渡效果的 CSS 属性的名称。-duration规定完成过渡效果需要多少秒或毫秒。-timing-function规定速度效果的速度曲线。-delay定义过渡效果开始时间。*/color: white;}.button a:hover{background-color: rgba(255,255,255);color:#68ABC2;transition:background-color 0.15s linear;}/*顶部a标签动画与样式  开始*//*图片的样式与动画  开始*/.SpanStyle{width: 100%;height: 400px;z-index: 1;position: absolute;top: 0;background-repeat: no-repeat;background-size: 100% 100%;background-position: 0 0;}.SpanStyle div{width: 25%;height: 100%;float: left;position: relative;overflow: hidden;background-repeat: no-repeat;}.SpanStyle div span{position: absolute;width: 100%;height: 100%;top: 0px;left: -100%;/*设置元素初始位置,为动画准备*/z-index: 2;color: rgba(255,255,255,0);background-repeat: no-repeat;background-size: 400% 100%;}/*设置图片在元素的位置*/.SpanStyle div:nth-child(1) span{background-position: 0% 0px;}.SpanStyle div:nth-child(2) span{background-position: 33.5% 0px;}.SpanStyle div:nth-child(3) span{background-position: 66.5% 0px;}.SpanStyle div:nth-child(4) span{background-position: 100% 0px;}/*父级元素下的 某个input标签和 它的类名:选中后匹配元素(单复选框专用) ~ 一个父级元素下的div里面的Span元素:匹配元素(第N个) *//*定义指定的input标签点击后将匹配的元素绑定新图片*/.Images input.cr-in-img-1:checked ~ .SpanStyle, .SpanStyle div span:nth-child(1){background-image: url(../images/1.jpg);}.Images input.cr-in-img-2:checked ~ .SpanStyle,.SpanStyle div span:nth-child(2){background-image: url(../images/2.jpg);}.Images input.cr-in-img-3:checked ~ .SpanStyle,.SpanStyle div span:nth-child(3){background-image: url(../images/3.jpg);}.Images input.cr-in-img-4:checked ~ .SpanStyle,.SpanStyle div span:nth-child(4){background-image: url(../images/4.jpg);}/*定义指定的input标签点击后将绑定的新图片所在的元素插入*/.Images input.cr-in-img-1:checked ~ .SpanStyle div span:nth-child(1),.Images input.cr-in-img-2:checked ~ .SpanStyle div span:nth-child(2),.Images input.cr-in-img-3:checked ~ .SpanStyle div span:nth-child(3),.Images input.cr-in-img-4:checked ~ .SpanStyle div span:nth-child(4){animation: none;transition: left 0.8s ease-in-out;left: 0%;z-index: 10;}/*定义指定的input标签点击后将要替换的旧图片所在的元素撤出*/.Images input:checked ~ .SpanStyle div span{animation: slideOut 0.8s ease-in-out;}@keyframes slideOut{0%{ left: 0%; }100%{ left: 100%; }}/*图片的样式与动画  结束*//*文本动画与样式  开始*/.Images{height: 400px;width: 40%;text-align: center;position: relative;margin: 2% auto 0 auto;border: 20px solid #fff;box-shadow: 1px 1px 3px rgba(0,0,0,0.1);}.Images input{display: none;}.Images label{font-style: italic; /*字体样式:倾斜*/margin-top: 350px;text-align: center;width: 25%;height: 30px;cursor: pointer;/*光标:手*/color: #fff; /*字体颜色*/position: relative;float: left;line-height: 34px;font-size: 24px;/*字号,字体大小*/z-index: 5;}.Images label:before{content:'';/*绑定文本也可以绑定文件*/width: 34px;height: 34px;background: rgba(130,195,217,0.9);position: absolute;left: 50%;margin-left: -14px;border-radius: 50%;box-shadow: 0px 0px 0px 4px rgba(255,255,255,0.3);z-index:-1;}.Images label:after{width: 1px;height: 400px;content: '';background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);    position: absolute;bottom: -20px;right: 0px;}.h3Span h3{position: absolute;width: 100%;top: 45%;z-index: 10;text-align: center;opacity: 0;color: #fff;text-shadow: 1px 1px 1px rgba(0,0,0,0.1);transition: opacity 0.8s ease-in-out;}.h3Span h3 span{z-index: 10;position: absolute;width: 100%;left: 0px;text-align: center;opacity: 1;}.h3Span h3 span:nth-child(1){font-family: 'NSimSun';font-size: 50px;    display: block;    letter-spacing: 7px;}.h3Span h3 span:nth-child(2){margin-top: 84px;letter-spacing: 0px;background: rgba(104,171,194,0.9);font-size: 14px;padding: 10px 0px;font-style: italic;transition: opacity 0.8s ease-in-out;}.Images input.cr-in-img-1:checked ~ .h3Span h3:nth-child(1),.Images input.cr-in-img-2:checked ~ .h3Span h3:nth-child(2),.Images input.cr-in-img-3:checked ~ .h3Span h3:nth-child(3),.Images input.cr-in-img-4:checked ~ .h3Span h3:nth-child(4){opacity: 1;}/*文本的动画与样式  结束*//*页面缩小显示复选框*/@media screen and (max-width: 1200px) {.Images input{display: inline;width: 22%;margin-top: 350px;z-index: 10;position: relative;}.Images label{display: none;}}

以上就是css实现点击切换图片效果的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1615739.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 05:04:23
下一篇 2025年12月24日 05:04:42

相关推荐

  • 纯css代码实现简单下拉菜单效果

    实现方法: (推荐教程:CSS教程) 1、用ul 和 li标签写一个关联结构(ul 和 li的父子关系浑然天成,一般的关联结构都用它们) 服装 衬衫 棉袄 裤衩 2、对界面进行初始化(万金油式开头) 立即学习“前端免费学习笔记(深入)”; *{ padding: 0; margin: 0; } 3、…

    好文分享 2025年12月24日
    000
  • css中的“计算属性”是什么

    首先本文要讲的计算属性和vue的计算属性没有一点关系。 (推荐教程:CSS教程) 相信大家开发中遇到过这样的问题: 我设计样式,多用百分比布局,这样在不同分辨率就不会出现特别大的偏差,但是也不能避免不适用px等固定单位,所以当我们父元素分为2部分,头部使用了像素px,但是底部需要剩下所有的大小怎么办…

    2025年12月24日
    000
  • 你会使用css锚点么

    CSS锚点使用有两种方法,我建议使用下面这种: (推荐教程:CSS教程) 到达第一个锚点 到达第二个锚点 我是第一个锚点 我是第一个锚点 这样当我们点击A链接时, 对应的DOM节点就会滚动到窗口顶部。 但有时我们的需求并不是让它滚动到窗口顶部。 可能要他距离顶部有一定的距离。这时候可以由以下方法解决…

    2025年12月24日
    000
  • css实现可收缩的上下左右布局

    首先我们来看一下实现效果: (推荐教程:CSS教程) 代码实现: 立即学习“前端免费学习笔记(深入)”; 布局 * { margin: 0; padding: 0; } html, body { width: 100%; height: 100%; } .left { width: 220px; h…

    2025年12月24日
    000
  • css实现一个简单的扁平化按钮

    我们先来看下按钮样式: (推荐教程:CSS教程) 具体代码: 立即学习“前端免费学习笔记(深入)”; 打印//js写法$(“#btn”).css({“font-family”: “‘微软雅黑’,’Helvetica Neue’,Helvetica,Arial,sans-serif”,”font-si…

    2025年12月24日
    000
  • 谈谈css中的3种预处理器

    本篇文章给大家介绍一下三种css预处理器的,以及比较一下,了解他们之间的差异。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 一、介绍 CSS预处理器定义了一种新的语言,基本的思想是用一种专门的编程语言,开发者只需要使用这种语言进行编码工作,减少枯燥无味的CSS代码的编写过程的同时…

    2025年12月24日
    000
  • 前端常见css的面试题目

    随着疫情的不断好转,各地都开始逐步的复工,当然对我们来说,也马上迎来所谓的金三银四跳槽季。在此,分享自己在前端领域中积累的一些经验,供自己温故知新。   对于前端来说,涉及的知识面广,内容繁多,但是万变不离其宗,主要也就是围绕着html(5),css(less,scss,sass,styus,css…

    2025年12月24日
    000
  • 谈谈CSS实现水平垂直居中布局的方法

    最近面试的时候,面试官问到了CSS水平垂直居中布局的方式,对于刚入前端没多久的我,无疑是一脸懵逼,闲了赶紧查阅资料分析一波,给各位分享一下,避免落坑。 首先先说明一下html和一些基础css样式,下面就不再赘述!html 垂直水平居中 公共css代码如下 /* 公共样式 */.div1{width:…

    2025年12月24日
    000
  • 在html元素中设置css样式的方式是什么

    如果我们要在HTML元素中设置CSS样式,那么我们就需要在元素中设置”id” 和 “class”选择器。 (推荐教程:CSS教程) 下面我们来分别说一下id选择器和class选择器。 id选择器 立即学习“前端免费学习笔记(深入)”; id 选择器可以…

    2025年12月24日
    000
  • css如何设置透明度不会影响子元素

    通过RGBA设置透明度,只有最新的浏览器支持,支持IE9+,可通过RGBA的alpha通道的方式设定。 (推荐教程:CSS教程) 显示文字 前三个值是rgb的颜色值,最后一个透明度的值,取值为0~1,值越小越透明。 兼容所有浏览器写法: 立即学习“前端免费学习笔记(深入)”; background-…

    2025年12月24日
    000
  • css怎样实现DIV高度自适应

    可以添加表格特性。 (推荐教程:CSS教程) 父级元素添加属性  display: table; 子一级元素添加属性 display: table-cell; 立即学习“前端免费学习笔记(深入)”; 代码: .div-row { width: 400px; border: 1px solid #23…

    2025年12月24日 好文分享
    000
  • css中的五种常见页面布局

    公共样式部分代码: (推荐教程:CSS教程) html * { margin: 0; padding: 0; } .layout { margin-bottom: 20px; } .layout article { width: 100%; } .layout article > div { …

    2025年12月24日 好文分享
    000
  • 利用css实现鼠标悬停效果

    我们先来看下效果: (推荐教程:CSS教程) html代码: 立即学习“前端免费学习笔记(深入)”; 这是是pic-1 这是是pic-2 这是是pic-3 css代码: html { box-sizing: border-box; font: 18px PT Mono; background: an…

    2025年12月24日
    000
  • css如何实现按钮居中显示

    先来看下效果: (推荐教程:CSS教程) 通过简单的Css样式就可以实现 立即学习“前端免费学习笔记(深入)”; 使用margin-left:auto;margin-right:auto; 可以让你的div居中对齐。 .style{margin-left:auto;margin-right:auto…

    2025年12月24日
    000
  • CSS如何清除浮动?3种方法介绍

    css如何清除浮动?本篇文章给大家介绍一下使用css清除浮动的3种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 首先这里就不讲为什么我们要清楚浮动,反正不清除浮动事多多。 下面我就讲三种常用清除浮动的方法,够用了。 1、在浮动元素后面加一个空的div,并为它清除浮动 立即学…

    2025年12月24日 好文分享
    000
  • 如何利用css实现圆环效果

    css实现圆环效果有多种方法,这里为大家分享五种方法: (推荐教程:CSS教程) 首先我们来看一下实现效果: 立即学习“前端免费学习笔记(深入)”; 接下来为大家介绍方法: 1、两个标签的嵌套 .element1{ width: 200px; height: 200px; background-co…

    2025年12月24日
    000
  • 书写CSS样式有哪三种方式

    书写css样式的三种方式: (推荐教程:CSS教程) 一、行内式 是通过标签的style属性来设置元素的样式,其基本语法格式如下: 立即学习“前端免费学习笔记(深入)”; HelloWord 语法中style是标签的属性,实际上任何HTML标签都拥有style属性,用来设置行内式,其中属性值的书写规…

    2025年12月24日
    000
  • 纯CSS如何实现3D书本效果?(代码示例)

    本篇文章给大家通过代码示例介绍css实现3d书本效果,代码简单易懂。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 话不多说,先来看一下效果图 源代码如下 Document *{ margin: 0; padding: 0; } body{ display: flex; align…

    2025年12月24日
    000
  • 详解CSS中的选择器和优先级

    CSS选择器优先级得关系为: !important>内联>ID选择器>类选择器>标签选择器。 一种优先级算法 1、内联样式表的权值最高 () 权值为1000 2、统计选择符中的ID属性个数。(#id) 权值为100 立即学习“前端免费学习笔记(深入)”; 3、统计选择符中的C…

    2025年12月24日 好文分享
    000
  • css中有哪些常见的布局方式

    常见的几种布局方式: (推荐教程:css快速入门) 固定布局 流式布局(自适应布局) 弹性布局(伸缩布局) 立即学习“前端免费学习笔记(深入)”; 定位布局 浮动布局 响应式布局(媒体查询) 固定布局的固定说的是盒子的宽高都是固定的。margin,padding等。 流式布局的流式是指的盒子的宽高和…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信