图片轮播区域

第一步 创建一个盒子

  • 操作: .banner按tab
<div class="banner">

</div>

  • 写css
.banner{
            height: 382px;
            width: 100%;
            overflow: hidden;
        }

说明:因为banner里面的图片有3000px宽度,会超出我们的屏幕范围,屏幕会出现横向的滚动条。我不希望出现滚动条,所以我们将banner设置一个溢出隐藏属性,将子元素溢出的部分隐藏掉。

第二步 创建一个小箱子:图片箱子

  1. .banner-img 按tab,回车
  2. 写一个a
  3. 在a里面写一个img,在img的src中写入图片地址
  4. 用上一步相同的方法,做出来另外两张图
 <div class="banner-img">
       <a href="">
           <img src="1b386754-f5fe-42a8-9d16-9666ca576db1.jpg" alt=""/>
       </a>
       <a href="">
           <img src="6d405bc3-25af-45b7-9eb6-8ef005577f25.jpg" alt=""/>
       </a>
       <a href="">
           <img src="19addf8c-8893-45f1-b5d4-ccb891aa9c81.jpg" alt=""/>
       </a>
 </div>

现在页面的效果:页面外面有一个白色的间距,没有全屏;图片没有居中。图片宽度是3000px,我们使用js来让图片居中。

计算原理:图片的宽度与文档的宽度的差值,现在从文档中溢出,溢出到文档外右侧。所以我们需要将溢出的这部分的二分之一,向左侧偏移,这样图片就可以居中啦。

    <script src="jquery-2.2.3.min.js"></script>
    <script>
        //获取当前文档的宽度
        var win = $(document.body).width() ;
        //计算偏移值
        var diff = (3000-win)/2 ;
        $(‘.banner-img  img‘).css( ‘margin-left‘ , -diff + ‘px‘ ) ;
    </script>
  1. 给body加一个默认的样式,去除掉四周的外边距,同时加一个底部的内边距,方便看效果
    body{
        margin: 0;
        padding-bottom: 50px;
    }
  1. 给第一个图片的a添加一个show的class,作为显示的标记
  2. 给其他两张图片添加一个隐藏的样式,让他们隐藏掉
<div class="banner-img">
     <a href="" class="show">
         <img src="1b386754-f5fe-42a8-9d16-9666ca576db1.jpg" alt=""/>
     </a>
     <a href="" style="display: none;">
         <img src="6d405bc3-25af-45b7-9eb6-8ef005577f25.jpg" alt=""/>
     </a>
     <a href="" style="display: none;">
         <img src="19addf8c-8893-45f1-b5d4-ccb891aa9c81.jpg" alt=""/>
     </a>
</div>
  • 用js写一个计时器,来切换图片
  //计时器
  var timer = setInterval(function(){
             //当前显示的隐藏
            var showing = $(‘.banner-img .show‘);
            showing.removeClass(‘show‘).fadeOut(200);

            //下一个显示
            var needShow = showing.next();
            if(needShow.length == 0 ){
                needShow = $(‘.banner-img a‘).eq(0);
            }
            needShow.addClass(‘show‘).fadeIn(200);
        } , 3000 );

写到此处,图片轮播区域完成。

第三步 创建一个小盒子,用于盛放居中的内容

  • 注意这个元素是banner的子元素,必须放到banner中,与banner-img是兄弟元素
<div class="container banner-center">

</div>
  1. 来给我们的居中元素定义样式。
  2. 固定的宽度已经在container中定义过了
  3. 固定的高度:与父级banner的高度一致
  4. 使用相对于父级banner的绝对定位:先给父级添加一个属性
  5. 然后给自己添加绝对定位的属性:定位到父级的左侧50%的位置,顶部0
  6. 设置向左侧的偏移量,偏移值为自身宽度的一半
        .banner{
            height: 382px;
            width: 100%;
            overflow: hidden;
            position: relative;
        }

        .banner-center{
            height: 100%;
            position: absolute;
            top: 0;
            left: 50%;
            margin-left: -500px;
            background-color: #000000;
        }

为方便查看效果,我们添加一个黑色背景。到此位置我们的banner-center已经居中啦。

第四步 在banner-center中创建一个小箱子:圆点

  • 写html代码,将banner-dot写到banner-center中
        <div class="container banner-center">
            <div class="banner-dot">
                <span class="dot"></span>
                <span class="dot"></span>
                <span class="dot"></span>
            </div>
        </div>
  1. 写banner-dot的样式,将banner-dot进行绝对定位。
  2. 相对于banner-center进行绝对定位,banner-center已经有了position:absolute的属性了
        .banner-dot{
            position: absolute;
            bottom: 20px;
            left: 20px;
        }
  1. 写dot的样式
  2. 注意,span是内联元素,务必添加内联-块儿元素属性,否则宽高不生效
        .dot{
            width: 10px;
            height: 10px;
            border-radius: 100%;
            background-color: #fff;
            display: inline-block;
        }

到此位置,我们的圆点写好啦。

第五步 写一个登录框的小箱子:banner-login

  • 写html代码
  • 注意,此元素是banner-center的子元素,与banner-dot是兄弟元素
            <div class="banner-login">
                <p>第一行</p>
                <p>第二行</p>
                <p>第三行</p>
                <a href="" class="btn-yellow">立即注册</a>
            </div>
  1. 先给banner-login添加样式
  2. 一个透明色的背景色
  3. 一个内边距20px
  4. 相对于父级banner-center定位。
  5. 文字颜色黑色的
  6. 设置行高,拉开p之间的距离
  7. 文字居中
        .banner-login{
            padding: 20px;
            background-color: rgba(255, 255, 255, .8);
            position: absolute;
            right: 0;
            top: 84px;
            text-align: center;
            border-radius:4px;
        }
  1. 给注册按钮添加样式
  2. 注意a是一个内联元素,必须转成内联-块儿元素
        .btn-yellow{
            width: 200px;
            line-height: 35px;
            border-radius:4px;
            background-color: #ff8813;
            color: #ffffff;
            display: inline-block;
            text-decoration: none;
        }

到此为止,我们的登录框就写好啦。

时间: 2024-11-05 13:46:17

图片轮播区域的相关文章

IOS 图片轮播实现原理 (三图)

IOS 图片轮播实现原理的一种 图片轮播所要实现的是在一个显示区域内通过滑动来展示不同的图片. 当图片较少时我们可以采用在滚动视图上添加很多张图片来实现. 但是如果图片数量较多时,一次性加载过多图片会浪费内存,影响性能. 因此我们要采取适当地方法来实现图片的轮播. 下面我们只是简单的介绍很多方法中的一种简单的实现原理. 一 二 三 四 五 六 七

面向对象编程---图片轮播

今天复习了一下面向对象编程,下面是我的效果图 看着这个图片你会觉得这没有什么,那么上代码: html部分: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <style> 7 ul,ol,li{padding:0;margin:0;li

一分钟搞定AlloyTouch图片轮播

一分钟搞定AlloyTouch图片轮播 轮播图也涉及到触摸和触摸反馈,同时,AlloyTouch可以把惯性运动打开或者关闭,并且设置min和max为运动区域,超出会自动回弹.除了一般的竖向滚动,AlloyTouch也可以支持横向滚动,甚至任何属性的运动,因为它的设计的本质就是属性无关,触摸可以反馈到任何属性的运动.所以AlloyTouch制作各种各样的轮播组件还是得心应手. 第一种轮播图如上图所示.下面开始实现的过程. 第0秒 <div id="carousel-container&quo

Javascript图片轮播

原文链接: http://www.imooc.com/article/7393 编辑HTML代码: <div id="wrap"><!--图片展示区--> <div id="inner" class="clear"><!--所有图片并排的块--> <a href="#"><img src="img/sw1.png" alt="图片已

IOS 05 UIScrollView介绍 图片轮播器

移动设备的屏幕?大?小是极其有限的,因此直接展?示在?用户眼前的内容也相当有限 当展?示的内容较多,超出?一个屏幕时,?用户可通过滚动?手势来查看屏幕以外的内容 普通的UIView不具备滚动功能,不能显?示过多的内容 UIScrollView是?一个能够滚动的视图控件,可以?用来展?示?大量的内容,并且可以通过滚 动查看所有的内容 在IOS中UIScrollView这个控件还是比较常用和重要的. 很多时候,我们想在UIScrollView正在滚动 或 滚动到某个位置 或者 停?止滚动 时做?一些

天猫首页迷思之-jquery实现左侧广告牌图片轮播

本次要实现的是天猫首页每个楼层左侧的图片轮播效果.见图: 功能点有:点击右箭头向右滑动:点击左箭头向左滑动:什么都不点自动滑动. 1.实现样式.简单分析一下大概的html结构.一个大的div里面包含两个箭头以及轮播的容器.图片是由三个p标签组成,每个p标签中包含3个图片.css见github 1 <div class="floor-show-middle"> 2 <a class="floor-show-middle-arrow arrow-left&quo

jQuery个性化图片轮播效果

购物产品展示:图片轮播器<效果如下所示> 思路说明: 每隔一段时间,实现图片的自动切换及选项卡选中效果 两个区域:   最外层容器区域,如上图红色线框矩形   选项卡区域 两个事件:    鼠标悬浮或鼠标划入mouseover    鼠标离开mouseleave /**大屏广告滚动样式**/ 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF

基于原生js的图片轮播效果简单实现

基本效果如下: 实现了三张图片自动轮播+按键点击切换的效果. 基本思想: 图片轮播的效果和老式电影院的胶片放映形式很相似,在老式的电影院放映中,使用长长的胶片记录影片,胶片上是按顺序排列的一系列图片,通过快速通过放映机放映口,使这些图片产生一个连贯的切换效果,形成了动态的影片.所以,这里图片轮播的形式也可以采用这种方式来形成动画效果. 形式如下图: (黑框即我们的最外层的容器,充当放映机的存在:绿框就是胶片,上面搭载着很多的图片:粉框内即我们要轮播的图片) 从上图出发,我们要做到图片轮播,那么只

【iOS开发-55】图片轮播案例:scrollView的分页、滚动条、利用代理控制定时器和Page Control以及多线程问题

案例: (1)用storyboard布局,这里用了三样东西. --UIScrollView就是我们准备存放滚动图片的容器. --Page Control就是控制页数的那几个小点点.可以设置有多少个点,当前点和其他点的颜色等.注意它和UIScrollView是平级的,不是它的子视图. --还有一个textView是带有滚动的,用来测试多线程的.暂且随意拖放在页面中即可. (2)在ViewController.m中 --借助之前的scrollView属性,设置滚动范围 --借助新学习的scrollV