CSS学习笔记-过渡效果transition

transition

在这里插入图片描述

在这里插入图片描述

举例
1.实现下拉菜单效果
<ul class="menu">
        <li>
            书籍
            <ul class="sub-menu">
                <li>js书籍</li>
                <li>js书籍</li>
                <li>js书籍</li>
            </ul>
        </li>
        <li>
            书籍
            <ul class="sub-menu">
                <li>js书籍</li>
                <li>js书籍</li>
                <li>js书籍</li>
            </ul>
        </li>
        <li>
            书籍
            <ul class="sub-menu">
                <li>js书籍</li>
                <li>js书籍</li>
                <li>js书籍</li>
            </ul>
        </li>
    </ul>
*{
    padding: 0;
    margin: 0;
}
li{
    list-style: none;
}
.menu>li{
    float: left;
    border: 1px solid red;
    height: 30px;
    background-color: blue;
    color: #fff;
    line-height: 30px;
}
.menu>li:hover >.sub-menu>li{
    height: 30px;
}
.sub-menu>li{
    height: 0;
    overflow: hidden;
    background-color: red;
    transition: height 0.5s;

overflow:hidden可以将超出限界的元素隐藏

鼠标悬停前:
在这里插入图片描述

鼠标悬停后(有过渡效果):
在这里插入图片描述

在这里插入图片描述

2.实现滚动导航效果
<ul class="menu">
        <li>
            <p class="show">首页</p>
            <p class="click">电影</p>
        </li>
        <li>
            <p class="show">首页</p>
            <p class="click">电影</p>
        </li>
        <li>
            <p class="show">首页</p>
            <p class="click">电影</p>
        </li>
    </ul>
 *{
        margin: 0;
        padding: 0;
    }
    .menu{
        width: 300px;
        margin: 100px auto;
    }
    .menu>li{
        float: left;
        list-style: none;
        border: 1px solid red;
        height: 30px;
        line-height: 30px;
        overflow: hidden;
    }
    .menu>li:hover >.show{
        /* height: 60px; */
        margin-top: -30px;
        transition: 0.5s;
    }
    .show{
        background-color: red;
    }
    .click{
        background-color: yellow;
    }

鼠标悬停前:

在这里插入图片描述

鼠标悬停后(有过渡效果):

在这里插入图片描述

在这里插入图片描述

3.实现百度菜单效果
<ul class="menu">
        <li>
            <p class="show">首页</p>
            <p class="click">电影</p>
        </li>
        <li>
            <p class="show">首页</p>
            <p class="click">电影</p>
        </li>
        <li>
            <p class="show">首页</p>
            <p class="click">电影</p>
        </li>
    </ul>
*{
    margin: 0;
    padding: 0;
}
.menu{
    position: fixed;
    top: 50%;
    right: 10%;
}
.menu>li{
    list-style: none;
    border: 1px solid red;
    height: 30px;
    line-height: 30px;
    overflow: hidden;
    position: relative;
    
}
.show{
    background-color: brown;
}
.click{
    background-color: chartreuse;
    position: absolute;
    left: 0;
    top: 0;
    transform: rotate(45deg);
    transform-origin: -30px 30px;
    transition:transform 0.5s;
}
.menu>li:hover>.click{
    transform: rotate(0);
    
}

鼠标悬停前:
在这里插入图片描述

鼠标悬停后(有过渡效果):
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值