css3图片翻转炫酷效果


首先,我们要知道css3对浏览器的支持性比较低,css3只支持ie10及以上的一些版本比较新的浏览器。那么,想要支持火狐、谷歌等其他浏览器,需要加相应的前缀:

        -webkit-       /* 支持safari 和 Chrome */

        -moz-          /* 支持firefox */

        -ms-           /* 支持ie */

        -o-             /* 支持opera */

了解了这个基础的知识以后,我们来分析一下想要实现如题的效果,该从何做起。

第一,想要实现图片翻转显示不同的效果,毫无疑问应该有两块内容,因此要用两个div将其包裹;

第二,想要实现翻转前和翻转后翻转的内容处在浏览器的相同位置不变,就要对这两个div进行定位;

基本的框架做好了,就要用到重要的css3效果了

第三,元素垂直翻转用到的是css3里面的rotateY(angle)这一属性,这里需要注意的是,想要保证背面的div翻转以后仍然保持文字是从左向右展示的,就需要在初始化时将背面的div进行180deg旋转一次;

第四,transform是元素变换的名字,transform是表示元素变换的属性。使用方法:transition:transform 1s linear 0s;(第一个参数表示元素变换名称,第二个参数表示元素变换总时间,第三个参数表示元素变换曲线,默认为线性变换,第四个参数为元素变换开始之前停留的时间,即推迟变换的时间)。

 

下面我们就用实例来实现以下最终的效果:

<!DOCTYPE html>
<html >
<head>
    <title>test</title>
    <meta http-equiv="content-type" content="text/html" charset="utf-8">
    <meta name="author" content="xuyunfei">
    <meta name="description" content="随便做做测试">
    <meta name="keywords" content="test,html">
    <title>随便做做</title>
    <style>
        *{ margin: 0; padding: 0; box-sizing: border-box; }
        .container, .one, .two{
             width: 100px;
             height: 100px;
             }
        .container{
             position: relative; 
             transition: 1s; 
             transform-style: preserve-3d; 
            }
        .container:hover { 
            transform: rotateY(180deg); 
        }
        .back{
            position: absolute; 
            top: 0; 
            background: red; 
            transform: rotateY(180deg);
            backface-visibility: hidden;
        }
        .front{ position: absolute; 
            top: 0; 
            background: yellow;
            backface-visibility: hidden;
        }
    </style>
</head>
<body>
    <!-- <div class="par"> -->
        <div class="container">
            <div class="back">隐藏在背后的元素</div>
            <div class="front">初始显示在前面的元素</div>
        </div>
    <!-- </div> -->
    <script type="text/JavaScript">
    </script>
</body>
</html>

以上仅为本人的观点,望大家多多指点,不喜勿喷!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM