zoukankan      html  css  js  c++  java
  • 动画制作 手机APP制作以及响应式的实现

    babber 宽度:浏览器的100%
    原则上:高度-=图片高度
    banner img 宽度:图片的实际宽度
    高度:充满父容器
    使用定位:让图片在父容器中绝对居中。
     
     
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
    *{
    margin: 0px;
    padding: 0px;
    }
     
    #banner{
     100%;
    height: 500px;
    overflow: hidden;
    }
     
    #banner_in{
     7680px;
    height: 500px;
    position: relative;
    -webkit-animation: banner 8s ease infinite;
    }
     
    @-webkit-keyframes banner{
    /*0%{
    left:0px
    }
     
    33%{
    left: -1920px;
    }
     
    66%{
    left: -3840px;
    }
     
    100%{
    left: -5760px;
    }*/
     
    0%{
    left: 0px;
    }
    10%{
    left: 0px;
    }
     
    30%{
    left: -1920px;
    }
    40%{
    left: -1920px;
    }
     
     
    70%{
    left: -3840px;
    }
    80%{
    left: -3840px;
    }
     
    100%{
    left: -5760px;
    }
    }
     
    </style>
    </head>
     
    <body>
     
    <div id="banner">
    <div id="banner_in">
    <img src="../img/banner1.png" /><!--
    --><img src="../img/banner2.png" /><!--
    --><img src="../img/banner3.png" /><img src="../img/banner1.png" />
    </div>
    </div>
     
     
     
    </body>
    </html>
     
     
    [了解 像素基础知识]
    ① 设备物理像素:设备上一个像素点
    ② 设备无关像素:可以与物理像素通过dpr转换。(当dpr为1时,设备无关像素=设备物理像素)
    ③ CSS像素:CSS中使用的抽象概念。当页面没有缩放时,CSS像素=设备无关像素。
    设备像素比dpr = 物理像素/设备无关像素
    -->
    <!--[重点 viewport]
    设置布局viewport的各种信息:
    width=device-width:布局viewport宽度等于设备宽度
    initial-scale=1.0:默认缩放比为1(目的:让CSS像素=设备无关像素)
    maximum-scale=1:最大缩放比为1
    minimum-scale=1:最小缩放比为1
    user-scalable=no:用户禁止缩放(iOS10中的sarifi浏览器失效)
    -->
    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1,user-scalable=no"/>
     
    <!--
    禁止设备将疑似手机号/邮箱,进行识别。取消点击拨打电话等事件
    -->
    <meta name="format-detection"content="telephone=no,email=no"/>
     
    <!--
    iOS 添加到主屏幕时,WebAPP的标题
    -->
    <meta name="apple-mobile-web-app-title" content="我的第一个WebAPP">
     
    <!--
    iOS 添加到主屏幕时,WebAPP的icon图标
    -->
    <link rel="apple-touch-icon-precomposed" href="http://st.360buyimg.com/m/images/apple-touch-icon.png?v=jd201703162005" />
     
    <!--
    iOS 添加到主屏幕时,启用WebAPP全屏模式,删除顶端地址栏和底部工具栏
    -->
    <meta name="apple-mobile-web-app-capable" content="yes" />
     
    <!--
    iOS 添加到主屏幕时,WebAPP顶部状态的样式
    可选值:
    black:黑色
    default:默认白色
    black-translucent(半透明):网页内容充满整个屏幕,顶部状态栏会遮挡网页头部。
    -->
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
     
    <!--
    设置浏览器,时候最新的IE和chrome去编译
    >>> 不是手机端专用,PC网页一般也需要设置
    -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
     
    <!-- 其他几个meta标签,了解即可
    ① 设置浏览器过期时间,-1表示时刻过期,及每次刷新都要请求最新数据
    ② 是否设置浏览器缓存,否
    ③ 是否从本机读取缓存文件,否
    -->
    <meta http-equiv="Expires" content="-1">
    <meta http-equiv="Cache-Control" content="no-cache">
    <meta http-equiv="Pragma" content="no-cache">
     
     
    移动端字体选择
    1 一般手机均不支持微软雅黑,中文字体无需设置,使用手机默认即可,
    2 英文字体: 一般选择font-family:helvetica;
    font-family: "微软雅黑",helvetica,sans-serif;
    -->
     
    <!-- 禁止选中文本(如无文本需求,均为此选项)
    1手机端禁止长被选中
    2 电脑端禁止鼠标选中
    -webkit-user-select: none;
    -moz-user-select: none;
    -->
    <!-- 去除表单默认外观
    手机电脑均可使用
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -->
    <!-- 修改input的placehoder默认样式
    修改input获得焦点时的placehoder样式
    /*谷歌*/
    input::-webkit-input-placeholder{color:red;}
    input:focus::-webkit-input-placeholder{color:green;}
    /*火狐19+*/
    input::-moz-placeholder{color:red;}
    input:focus::-moz-placeholder{color:green;}
    /*IE 10+*/
    input::-ms-input-placeholder{color:red;}
    input:focus::-ms-input-placeholder{color:green;}
     
     
    -->
     
    <!--
    禁止长按链接与图片弹出菜单
    a ,img{
    -webkit-touch-callout: none;
    }
    -->
    <style type="text/css">
    *{
    margin: 0px;
    padding: 0px;
    font-family: "微软雅黑",helvetica,sans-serif;
    -webkit-user-select: none;
    -moz-user-select: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    input:-
    }
    .div1{
    100%;
    height: 68px;
     
     
    }
     
     
    </style>
    </head>
    <body>
    <div class="div1">
    13181621008
    哈哈
    jianghao@jerei.com
    <a href="index.html">哈哈哈哈哈哈</a>
     
    <img src="img/icon.png" />
     
    <input type="text" placeholder="11111" />
     
    <!--
    打电话/发短信/发邮件
    -->
    <a href="tel:0535-10086">
    打电话给:0535-10086
    </a>
    <a href="sms:10086">发短信给: 10086</a>
    <a href="mailto:jianghao@jerei.com">发邮件给: jianghao@jerei.com</a>
     
    </div>
    响应式实现
    使用media的三种方式
     
    * 1 直接在CSS文件中使用
    * @media 类型 and (条件1) and (条件2){
    * CSS样式
    * }
    /*@media all and (margin: ;ax-640px ) {
    body{}
    }
    @media all ( min-640px)and (max-980px) {
    body{
     
    }
    * 2 使用import导入
    * @import url("11.css") all and (max-980px);
    * 3 使用link链接media属性用于设置查询方式
    * <link rel="stylesheet" href="11.css" media="all and (max-980px)"/>
    * */
    *弹性盒布局 flex
     
    * 1 给父容器添加display:flex/inline-flex;属性
    * 2 父容器可以使用的属性值有:
    * ①flex-direction 属性决定主轴的方向
    * row | row-reverse | column | column-reverse;
    * row(默认值):主轴为水平方向,起点在左端。
    row-reverse:主轴为水平方向,起点在右端。
    column:主轴为垂直方向,起点在上沿。
    column-reverse:主轴为垂直方向,起点在下沿
     
    ②flex-wrap 属性定义,如果一条轴线排不下,如何换行
    nowrap | wrap | wrap-reverse
     
    (1)nowrap(默认):不换行。 当父容器宽度不够时,每个item会被适当挤压
     
    (2)wrap:换行,第一行在上方。
     
     
    (3)wrap-reverse:换行,第一行在下方。
     
     
     
    ③flex-flow 属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap
     
    ④justify-content 属性定义了项目在主轴上的对齐方式。
    flex-start(默认值):左对齐
    flex-end:右对齐
    center: 居中
    space-between:两端对齐,项目之间的间隔都相等。(首位项目,分别为父容器的最左和最右)
    space-around:每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍。(首位项目与父容器各有间隔)
    ⑤align-items 属性定义项目在交叉轴上如何对齐。
    flex-start:交叉轴的起点对齐。
    flex-end:交叉轴的终点对齐。
    center:交叉轴的中点对齐。
    baseline: 项目的第一行文字的基线对齐。 (行高,字体等会影响每行的基线)
    stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度
    ⑥align-content 属性定义了多根轴线的对齐方式。如果项目只有一根轴线,该属性不起作用。
    flex-start:与交叉轴的起点对齐。
    flex-end:与交叉轴的终点对齐。
    center:与交叉轴的中点对齐。
    space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
    space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
    stretch(默认值):轴线占满整个交叉轴。
     
     
    *
    *
    * */
    /* 子容器上可以使用的属性
    order 属性定义项目的排列顺序。数值越小,排列越靠前,默认为0
     
     
    flex-grow 属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。
     
    flex-shrink 属性定义了项目的缩小比例,默认为1,即如果空间不足,该项目将缩小
    如果所有项目的flex-shrink属性都为1,当空间不足时,都将等比例缩小。如果一个项目 的flex-shrink属性为0,其他项目都为1,则空间不足时,前者不缩小。负值对该属性无效
     
     
     
    flex-basis 属性定义了在分配多余空间之前,项目占据的主轴空间(main size)。浏览器根据这个属性,计算主轴是否有多余空间。它的默认值为auto,即项目的本来大小。
     
     
     
    flex 属性是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。后两个属性可选。
    该属性有两个快捷值:auto (1 1 auto) 和 none (0 0 auto)。
    建议优先使用这个属性,而不是单独写三个分离的属性,因为浏览器会推算相关值。
     
     
     
     
    align-self 定义单个item在交叉轴上的对齐方式 可以覆盖父容器的align-item属性。该属性可能取6个值,除了auto,其他都与align-items属性完全一致。
     
     
     
     
  • 相关阅读:
    [a0004] <创作> 随笔视图索引
    [a0003] <创作> 全局视图索引
    git提交时忽略指定文件
    解决:gradle 前言中不允许有内容
    【LINQ标准查询操作符总结】之聚合操符
    RxJS 中的创建操作符
    项目管理(1) 什么是项目?
    数据库表数据统计及数据表的数据大小统计SQL
    C# 中一些类关系的判定方法
    Windows Azure NotificationHub+Firebase Cloud Message 实现消息推动(付源码)
  • 原文地址:https://www.cnblogs.com/LJYqq/p/6622696.html
Copyright © 2011-2022 走看看