幻灯片の纯CSS,NO JavaScript

之前就遇到有人问,不用js,纯css实现幻灯片。

那么对于使用纯的css + html 怎样来实现幻灯片呢?下面有几种方法可供参考,有些还不成熟。

方案一:利用css3的animation

例子传送门点我,点我

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>幻灯片</title>
    <style>
        .ani {
            width: 440px;
            height: 440px;
            margin: 50px auto;
            overflow: hidden;
            box-shadow: 0 0 5px rgba(0, 0, 0, 1);
            background-size: cover;
            background-position: center;
            -webkit-animation-name: loops;
            -webkit-animation-duration: 20s;
            -webkit-animation-iteration-count: infinite;
        }
        @-webkit-keyframes loops {
            0% {
                background: url(../images/01.jpg) no-repeat;
            }
            25% {
                background: url(../images/02.jpg) no-repeat;
            }
            50% {
                background: url(../images/03.jpeg) no-repeat;
            }
            75% {
                background: url(../images/04.jpg) no-repeat;
            }
            100% {
                background: url(../images/05.jpg) no-repeat;
            }
        }
    </style>
</head>
<body>
<div class="ani"></div>
</body>
</html>

方案二:把需要展示的图片集合并长一个长横图,然后再通过:hover伪类来改变图片的位置,从而达到幻灯片的效果

例子传送门还是点我吧

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        #wrap {
            width: 580px;
            height: 440px;
            background: #9ed2d9;
            border: 5px solid #9ed2d9;
            position: relative;
            margin: 30px auto 20px auto;
            -o-border-radius: 20px;
            -icab-border-radius: 20px;
            -khtml-border-radius: 20px;
            -moz-border-radius: 20px;
            -webkit-border-radius: 20px;
            border-radius: 20px;
        }
        #slide {
            padding: 370px 0 0 0;
            margin: 0;
            list-style: none;
            width: 480px;
            height: 30px;
            overflow: hidden;
            position: absolute;
            left: 48px;
            top: 29px;
        }
        #slide b {
            float: left;
        }
        #slide span {
            position: absolute;
            left: 0;
            top: 0;
            height: 360px;
            width: 480px;
            border: 1px solid #698639;
            border-color: #698639 #e0ebcb #e0ebcb #698639;
        }
        #slide b.overlay {
            display: block;
            width: 490px;
            height: 370px;
            background: transparent;
            position: absolute;
            top: -5px;
            left: -5px;
        }
        #slide i {
            display: block;
            float: left;
            margin-right: 5px;
            width: 20px;
            height: 20px;
            color: #000;
            line-height: 19px;
            font-family: arial, sans-serif;
            font-style: normal;
            font-size: 11px;
            text-align: center;
            cursor: pointer;
        }
        #slide b img {
            display: block;
            border: 0;
            position: absolute;
            top: 0;
            left: -1px;
            -webkit-transition: all 0.7s ease-in-out;
        }
        #slide i:hover {
            background-position: 0 -20px;
            color: #fff;
        }
        #slide .p1:hover img {
            left: -1px;
        }
        #slide .p2:hover img {
            left: -481px;
        }
        #slide .p3:hover img {
            left: -961px;
        }
        #slide .p4:hover img {
            left: -1441px;
        }
        #slide .p5:hover img {
            left: -1921px;
        }
        #slide .p6:hover img {
            left: -2401px;
        }
        #slide .p7:hover img {
            left: -2881px;
        }
        #slide .p8:hover img {
            left: -3361px;
        }
        #slide .p9:hover img {
            left: -3841px;
        }
        #slide .p10:hover img {
            left: -4321px;
        }
    </style>

</head>
<body>
<div id="wrap">
    <div id="slide">
        <b class="p1"><i>1</i>
            <b class="p2"><i>2</i>
                <b class="p3"><i>3</i>
                    <b class="p4"><i>4</i>
                        <b class="p5"><i>5</i>
                            <b class="p6"><i>6</i>
                                <b class="p7"><i>7</i>
                                    <b class="p8"><i>8</i>
                                        <b class="p9"><i>9</i>
                                            <b class="p10"><i>10</i><span><img src="../images/long.jpg" alt="" /></span></b>
                                        </b>
                                    </b>
                                </b>
                            </b>
                        </b>
                    </b>
                </b>
            </b>
        </b>
        <b class="overlay"></b>
    </div> <!-- end slide -->
</div>

</body>
</html>

方案三:利用描点。通过点击描点来选择图片,达到幻灯片的效果。

我没有传送门,你们抢吧。

时间: 2024-10-18 07:13:49

幻灯片の纯CSS,NO JavaScript的相关文章

使用基于关系的选择器和伪类选择器创建纯CSS无JavaScript的鼠标移动到上面即可显示的下拉菜单

html代码: <div class="menu-bar"> <ul> <li> <h3 class="text-warning"><a class="drop-decoration text-warning">CSS</a></h3> <ul> <li> html/css从入门到精通 </li> <li> html

使用纯css禁用html中a标签无需JavaScript

其实这个问题在初次学习html中select标签时就已经冒出来了,时至今日,依然没有找到使用纯css禁用a标签的办法——同事.同学.老师我都问过了,他们都千篇一律借助了JavaScript,难道真的必须要借助JavaScript吗? 1.纯css实现html中a标签的禁用: 复制代码 代码如下: <html> <head> <title>如何禁用a标签</title> <metacontent="text/html; charset=GB23

CSS进阶之纯CSS幻灯片

CSS进阶之纯CSS幻灯片 昨天写的博文有人点了赞,让我激动不已,晚饭赏自己一个鸡腿,.如果我的博文对您有帮助的话,就请您点个赞,您的鼓励是我前进的动力.如果发现文中有错误的地方,也烦请各位大牛指出.以下开始正文. 首先用HTML搭建出基本的框架,如下: <div id="container">     <div class="slide">     <!--将需要展示的图片放在一个ul里面-->         <ul&g

纯css做幻灯片效果

css3里面有一个@keyframes动画功能. w3c上面的例子: 可以使用它来做一个幻灯片效果. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>纯CSS做幻灯片</title> </head> <style> @keyframes slide { 0% { backgroun

三种纯CSS方法实现等高列

在这篇文章里, 我会介绍三种使用纯css的方式来实现等高列的方法.在网页布局中设置列等高是比较常见的, 所以写这篇文章就是要总结下一些优雅的纯CSS解决方案. 插图自己弄得,不喜莫喷 哈哈.. 下面介绍的三种方法都只用到了CSS , 不涉及jQuery.JavaScript计算实现的方法,所以我把它这篇文章标题设为:三种纯CSS方法实现等高列. 方法-1: 使用Margins, Paddings和 Overflow来实现 第一种方法使用margins, paddings和overflow来迫使列

淘宝分类导航条;纯css实现固定导航栏

效果如下: 页面如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <style type="t

常用html、CSS、javascript前端命名规范

常用html.CSS.javascript前端命名规范 无意发现自己文件夹里面有这么一个文件,具体从哪里来的不记得了,仔细看下,发现总结的挺好的,贴出来分享一下. 无论是从技术角度还是开发视角,对于web前端开发规范文档都有一定规范,本文就css3和html5的发展前景总结了一系列的web开发文档,仅供大家参考. 规范目的: 为提高团队协作效率, 便于后台人员添加功能及前端后期优化维护, 输出高质量的文档, 特制订此文档. 本规范文档一经确认, 前端开发人员必须按本文档规范进行前台页面开发. 本

用纯css改变下拉列表select框的默认样式(不兼容IE10以下)

在这篇文章里,我将介绍如何不依赖JavaScript用纯css来改变下拉列表框的样式. 事情是这样的,您的设计师团队向您发送一个新的PSD(Photoshop文档),它是一个新的网站的最终设计. 一切看起来很好,很正常,直到你看到他/她设计的一个选择下拉框跟浏览器默认提供的样式有些不同!你说:“这没办法做!你应该不会抱怨设计师,其实更改下拉输入的默认样式并不是非常难的! 下面是解决方案. 我们看到默认的下载选择框在firefox和chrome中是有些不同的 Chrome 和 Firefox 中分

CSS3实战开发: 纯CSS实现图片过滤分类显示特效

各位网友大家好,今天我要带领大家开发一个纯CSS的图片分类显示的网址导航,单纯看标题大家可能有些困惑,依照以往惯例,我先给大家演示一下实际运行效果: 从上面的运行效果,大家不难发现,当我点击某一菜单时,导航区域会相应高亮显示此分类的图标,而其他图标则会变暗. 很多人可能会说,这个这么简单,直接使用javascript或jQuery等前端框架,再配合一些CSS,就可以很快实现同样的效果了.如果你是这一部分人,我也希望你停下脚步,看看这篇教程.因为在今天这篇教程中,我会用另一个思维方式来思考问题,我