zoukankan      html  css  js  c++  java
  • CSS3 新特性

    ~平时喜欢逛博客,看别人的学习总结和遇到的问题解决办法,恰好最近在做书签整理,翻到了之前一个前辈移动前端的总结,所以我就按他的总结模块对自己的知识进行了梳理,不过由于都是手写的,为了方便,下面的都是平时常用的。

    首先,对于前端页面结构来说,总体由三个层组成:html结构层、css表现层、javascript行为层,他们相互独立而又相互依存。

    由于IOS系统移动端坚决抵制FLASH等插件登陆其移动端浏览器,所以CSS3在移动端有了很大的用途,主要体现在形状和动画上。

    下面结合我的学习总结(平时用得多的)分别举例说明:::

    1、圆角( border-radius )

    四个角==  border-top-left-radius  /  border-top-right-radius  /  border-bottom-left-radius  /  border-bottom-right-radius 

    eg:

    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>css3圆角效果</title>
    <style>
      div{
          width:100px;
          height:100px;
          border:1px solid blue;
          -webkit-border-radius:5px;      
          }
    </style>
    </head>
    <body>
      <div></div>
    </body>
    </html>

    2、阴影( box-shadow / text-shadow )

    eg:

    <style>
          div{
              width:150px;
              height:150px;
              background-color:#ccc;
              -webkit-box-shadow:2px 2px 20px #06c;           
          }
          p{
              text-shadow:10px 10px 16px #06c;
          }
    </style>
    <body>
           <div></div>
           <p>这个文本有阴影效果</p>
    </body>

    3、背景图像

    background-image  背景图像  

    background-size:[<length>|<percentage>|auto]{1,2}|cover|contain;    背景图像的大小(常用cover,保持图像宽高比,将图片缩放到正好完全覆盖所定义背景区域)

    4、2D变形( transform )

    (1)旋转 transform:rotate(45deg);                (2)缩放 transform:scale(2);  // 放大两倍    transform:scale(-2);  // 翻转元素并缩放    transform:scale(0.5);  // 缩小一半

    (3)移动 transform:translate(40px);  // 只有一个值时表示水平偏移,如要垂直偏移,要设第一个参数为0,再加上第二个参数(正值:右移/下移;负值:左移/上移)

    (4)倾斜 transform:skew(30deg);    // 只有一个值时表示相对于X轴倾斜(或者skewX(30deg)),如要相对于Y轴倾斜,要加上第二个参数(skew(30deg, 10deg)或者skewY(10deg))

    (5)变形 transform:matrix(1,0.4,0,1,0,0)   // matrix()是一个矩阵函数,有6个参数(a,b,c,d,e,f)

    5、3D动画( transition 和 animations)

    transition支持从一个属性值平滑过渡到另一个属性值;animations支持通过关键帧在页面上产生更复杂的动画效果

    (1)transition是一个复合属性,可同时定义transition-property(过渡属性),transition-duration(过渡时间),transition-delay(过渡延迟时间),transition-function(过渡效果)以及它们的子属性值

    eg1:

    <style>
            #d{width: 300px;height: 200px;background-color: sandybrown;}
            /*way1*/
            #d:hover{background-color: blueviolet;
                transition-property:background-color; /*定义过渡属性*/
                transition-duration:2s;   /*定义过渡时间*/
                transition-delay:1s;      /*定义过渡延迟时间*/
                transition-function:ease-in-out;  /*定义过渡效果*/
            }
            /*way2*/
           /* #d:hover{
                background-color: blueviolet;
                transition: background-color 2s 1s ease-in-out;
            }*/
        </style>
    <div id="d"></div>

    eg2:

    <style type="text/css">
            .nvflim1{
                width:245px;
                height:175px;
                position:absolute;
                z-index:17;
                margin-left:480px;
                margin-top:80px;
                overflow:hidden;
                background-color:#F00;
                opacity:1;
                -webkit-transition:all 0.2s ease-in;}
    
            .nvflim2{
                width:245px;
                height:175px;
                position:absolute;
                z-index:17;
                margin-left:220px;
                margin-top:80px;
                overflow:hidden;
                background-color:#0f0;
                opacity:1;
                -webkit-transition:all 0.2s ease-in;}
    
        </style>
    <div class="nvflim1" id="animation"></div>
    
    <script type="text/javascript">
        function NvflimAnimation(){
            setTimeout(function(){
               // $("#animation").removeClass().addClass("nvflim2");
                document.getElementById("animation").removeAttribute("class");
                document.getElementById("animation").setAttribute("class","nvflim2");
            },1000)
        }
        window.addEventListener("load",NvflimAnimation,false)
    </script>

    (2)animations也是一个复合属性,包含:animation-name(动画名称),animation-duration(动画时间),animation-function(动画播放方式),animation-delay(动画延迟时间),animation-iteration-count(动画播放次数),animation-direction(动画播放方向)以及它们的子属性值

    <style>
            .d1{
                margin: 0 auto;
                width: 400px;
                height: 300px;
                background: url("2.jpg")center no-repeat;
                transform-style:preserve-3d;
                /*way1*/
                animation-name:r1;            /*动画名*/
                animation-duration:10s;       /*动画时间*/
                animation-timing-function:linear;   /*动画播放方式*/
                animation-iteration-count:infinite;   /*动画播放次数*/    /*  infinite 无限次 */
                /*way2*/
                /*animation:r1 10s linear infinite;*/
            }
           
            @keyframes r1{                      /*调用动画r1*/
                0%{transform:rotatey(0deg);}        /*设置第一个关键帧是开始位置*/
                50%{transform:rotatey(180deg);}      /*设置第二个关键帧是中间位置*/
                100%{transform:rotatey(360deg);}     /*设置第三个关键帧是结束位置*/
            }
            
        </style>
    <div class="d1"></div>
  • 相关阅读:
    ubuntu qtcreator 硬件权限问题
    关于LuCi
    npm 使用记录
    ubuntu 下简单录音
    qthread 使用 signal 方法通信
    线程安全笔记一则
    ubuntu 设置 NAT 转发
    debian 中新建或调整 swap 空间
    关于 htonl 和 ntohl 的实现
    shell 调试手段总结
  • 原文地址:https://www.cnblogs.com/lyr1213/p/6379525.html
Copyright © 2011-2022 走看看