css3和html5的学习

本文是此链接的源代码。http://www.imooc.com/learn/77  

关于的html5的使用:


transition----含义是:过渡的过程,能够对各种属性设置变化。

有5中过渡的形式:ease、linear、ease-in、ease-out、ease-in-out。


<!DOCTYPE html>
        <html>
<head>
    <title>html5 transition</title>
    <style type="text/css">
        #block_bar1{
            width: 40px;
            height: 100px;
            background-color: #69c;
            -webkit-transition:width 5s ease;
        }
        #block_bar1:hover{
            width: 600px;
            height: 100px;
            background-color: #ff0000;
        }
        #block_bar2{
            width: 40px;
            height: 100px;
            background-color: #69c;
            -webkit-transition:width 5s linear;
        }
        #block_bar2:hover{
            width: 600px;
            height: 100px;
            background-color: #ff0000;
        }
        #block_bar3{
            width: 40px;
            height: 100px;
            background-color: #69c;
            -webkit-transition:width 5s ease-in;
        }
        #block_bar3:hover{
            width: 600px;
            height: 100px;
            background-color: #ff0000;
        }
        #block_bar4{
            width: 40px;
            height: 100px;
            background-color: #69c;
            -webkit-transition:width 5s ease-out;
        }
        #block_bar4:hover{
            width: 600px;
            height: 100px;
            background-color: #ff0000;
        }
    </style>
</head>
<body>
    <div id="block_bar1">
    </div>
    <div id="block_bar2">
    </div>
    <div id="block_bar3">
    </div>
    <div id="block_bar4">
    </div>
</body>
        </html>

不同的变化形式。



transform-----含义是:改变,使…变形;转换,动词

该行为是html5新添加的一个特性,主要translate()、rotate()、scale()、skew()等属性能够设置出动画。


example1:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style>
        #test{
            -webkit-perspective:800;
            -webkit-perspective-origin: 50% 50%;
            -webkit-transform-style:-webkit-preserve-3d;

        }
        #block{
            width: 500px;
            height: 500px;
            background-color: #69c;
            margin: 100px auto;
            -webkit-transform:rotateZ(30deg);
        }

    </style>
</head>
<body>
    <div id="test">
        <div id="block">

        </div>
    </div>
</body>
</html>

example2:

<!DOCTYPE html>
<html>
<head>
    <title>3dRotate</title>
    <style type="text/css">
        #test{
            -webkit-perspective:800;
            -webkit-perspective-origin:50% 50%;
            -webkit-tranform-style:-webkit-preserve-3d;
        }
        #block{
            width: 200px;
            height: 200px;
            background-color: #6699cc;
            margin:100px auto;
        }
        #option{
            margin: 60px auto;
            font-size: 16px;
            font-weight: bold;
            width: 800px;
        }
        #option .range-control{width: 700px;}
    </style>

    <script type="text/javascript">
        function rotate(){
            var x=document.getElementById("rotatex").value;
            var y=document.getElementById("rotatey").value;
            var z=document.getElementById("rotatez").value;
            document.getElementById("block").style.webkitTransform = "rotateX("+x+"deg) rotateY("+y+"deg) rotateZ("+z+"deg)";

            document.getElementById("degX-span").innerText =x;
            document.getElementById("degY-span").innerText =y;
            document.getElementById("degZ-span").innerText =z;

        }
    </script>
</head>
<body>
    <div id="test">
        <div id="block"></div>
    </div>
    <div id="option">
        <p>rotateX:<span id="degX-span">0</span>  degree</p>
        <input type="range" min="-360" max="360" id="rotatex" value="0" class="range-control" onMouseMove="rotate()" /><br>
        <p>rotateY:<span id="degY-span">0</span>  degree</p>
        <input type="range" min="-360" max="360" id="rotatey" value="0" class="range-control" onMouseMove="rotate()" /><br>
        <p>rotateX:<span id="degZ-span">0</span>  degree</p>
        <input type="range" min="-360" max="360" id="rotatez" value="0" class="range-control" onMouseMove="rotate()" /><br>
    </div>
</body>
</html>

使用transform对translate和rotate进行设置。


最后一个是3维场景的搭建和翻页效果:

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
        #my3dspace{
            -webkit-perspective:800;
            -webkit-perspective-origin:50% 50%;
            overflow: hidden;
        }
        #pagegroup{
            width: 400px;
            height: 400px;
            margin: 0px auto;

            -webkit-transform-style:preserve-3d;
            position: relative;
        }
        #op{
            text-align: center;
            margin:40px auto;

        }
        .page{
            width: 360px;
            height: 360px;
            padding: 20px;
            background-color: #000;

            color: #fff;
            font-weight: bold;
            font-size: 360px;
            line-height: 360px;
            text-align: center;
            position: absolute;
        }
        #page1{
            -webkit-transform-origin:bottom;
            -webkit-transition:-webkit-transform 1s linear;
        }
        #page2,#page3,#page4,#page5,#page6{
            -webkit-transform-origin:bottom;
            -webkit-transition:-webkit-transform 1s linear;
            -webkit-transform:rotateX(90deg);
        }
    </style>
    <script type="text/javascript">
        var curIndex = 1;
        function next(){
            if(curIndex == 6)
            return;
            var curPage = document.getElementById("page"+curIndex);
            curPage.style.webkitTransform = "rotateX(-90deg)";

            curIndex ++;
            var nextPage = document.getElementById("page"+curIndex);
            nextPage.style.webkitTransform = "rotateX(0deg)";
        }
        function prev(){
            if(curIndex == 1)
            return;

            var curPage = document.getElementById("page"+curIndex);
            curPage.style.webkitTransform = "rotateX(90deg)";

            curIndex --;
            var nextPage = document.getElementById("page"+curIndex);
            nextPage.style.webkitTransform = "rotateX(0deg)";
        }

    </script>
</head>
<body>
    <div id="my3dspace">
        <div id="pagegroup">
            <div class="page" id="page1">1</div>
            <div class="page" id="page2">2</div>
            <div class="page" id="page3">3</div>
            <div class="page" id="page4">4</div>
            <div class="page" id="page5">5</div>
            <div class="page" id="page6">6</div>
        </div>
    </div>
    <div id="op">
        <a href="javascript:next()">next</a> <a href="javascript:prev()">previous</a>
    </div>
</body>
</html>








posted @ 2017-04-27 16:18  yfceshi  阅读(155)  评论(0编辑  收藏  举报