CSS3过渡效果transition----附手风琴案例

CSS3中新增的transform属性,实现了元素在变化过程中的过渡效果,实现了基本的
动画。


定义和用法

transition 属性是一个简写属性,用于设置四个过渡属性:

  • transition-property
  • 规定设置过渡效果的 CSS 属性的名称。

  • transition-duration
  • 规定完成过渡效果需要多少秒或毫秒。

  • transition-timing-function
  • 规定速度效果的速度曲线。
    ①linear:线性过渡。
    ②ease:平滑过渡,这是默认值
    ③ease-in:由慢到快。
    ④ease-out:由快到慢。
    ⑤ease-in-out:由慢到快再到慢。

  • transition-delay
  • 定义过渡效果何时开始。


    浏览器兼容性问题

    基于webkit内核的私有属性是:-webkit-transition;

    基于gecko内核的私有属性是:-moz-transition;

    基于prestot内核的私有属性是:-o-transition;

    实例:
    div
    {
    width:100px;
    transition: width 2s;
    -moz-transition: width 2s; /* Firefox 4 */
    -webkit-transition: width 2s; /* Safari 和 Chrome */
    -o-transition: width 2s; /* Opera */
    }
    

    手风琴案例

    <!DOCTYPE html>
    <html>
    <head lang="en">
        <meta charset="UTF-8">
        <title></title>
        <style>
            *{
                text-align: center;
                margin: 0px;
                padding: 0px;
            }
            li{
                list-style:none;;
                height: 30px;
            }
    
            .mennu{
                height: auto;
                width: 250px;
                margin: 50px auto;
            }
            .item{
                width: 100%;
                height: auto;
    
            }
            .item:hover > .itemBox{
                height: 120px;
            }
            .item > h3{
                background-color: skyblue;
                color: orange;
                height: 40px;
                line-height: 40px;
                border-bottom: 2px solid #ccc;
            }
            .item >.itemBox{
                width: 100%;
                height: 0;
                overflow: hidden;
                /*添加过渡效果*/
                transition-property: height;
                transition-duration: 1s;
            }
            .item >.itemBox >ul{
                background-color: yellowgreen;
            }
        </style>
    </head>
    <body>
    <div class="mennu">
        <div class="item">
            <h3>国际新闻</h3>
            <div class="itemBox">
                <ul>
                    <li>深圳市遇到有史以来最大台风</li>
                    <li>深圳市遇到有史以来最大台风</li>
                    <li>深圳市遇到有史以来最大台风</li>
                    <li>深圳市遇到有史以来最大台风</li>
                </ul>
            </div>
        </div>
        <div class="item">
            <h3>国内新闻</h3>
            <div class="itemBox">
                <ul>
                    <li>深圳市遇到有史以来最大台风</li>
                    <li>深圳市遇到有史以来最大台风</li>
                    <li>深圳市遇到有史以来最大台风</li>
                    <li>深圳市遇到有史以来最大台风</li>
                </ul>
            </div>
        </div>
        <div class="item">
            <h3>省内新闻</h3>
            <div class="itemBox">
                <ul>
                    <li>深圳市遇到有史以来最大台风</li>
                    <li>深圳市遇到有史以来最大台风</li>
                    <li>深圳市遇到有史以来最大台风</li>
                    <li>深圳市遇到有史以来最大台风</li>
                </ul>
            </div>
        </div>
        <div class="item">
            <h3>市内新闻</h3>
            <div class="itemBox">
                <ul>
                    <li>深圳市遇到有史以来最大台风</li>
                    <li>深圳市遇到有史以来最大台风</li>
                    <li>深圳市遇到有史以来最大台风</li>
                    <li>深圳市遇到有史以来最大台风</li>
                </ul>
            </div>
        </div>
    </div>
    </body>
    </html>
    
    效果图

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值