CSS 过渡(重点)

过渡(transition)是CSS3中具有颠覆性的特征之一,我们可以在不使用 Flash 动画或JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果。

过渡动画:是从一个状态渐渐的过渡到另一个状态

可以让我们页面更好看,更动感十足,虽然 低版本浏览器不支持(ie9以下版本)但是不会影响页面布局。

我们现在经常和:hover一起搭配使用。

   transition: 要过渡的属性 花费的时间 运动曲线 何时开始;

1、属性:想要变化的CSS属性, 宽度高度 背景颜色 内外边距都可以。如果想要所有的属性都变化过渡,写一个all 就可以。

2、花费时间:单位是 秒 (必须写单位) 比如0.5s

3、运动曲线:默认是ease (可以省略)

4、何时开始:单位是 秒 (必须写单位)可以设置延迟触发时间 默认是 0s (可以省略)

记住过渡的使用口诀:谁做过渡给谁加

举例:
 

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS3过渡效果</title>
    <style>
        div {
            width: 200px;
            height: 100px;
            background-color: pink;
        }
        div:hover {
            width: 400px;
        }
    </style>
</head>
<body>
    <div></div>
</body>

鼠标经过盒子时盒子会立马变宽

就会显得很突兀

此时就可以用过渡属性来设置的更好看些

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS3过渡效果</title>
    <style>
        div {
            width: 200px;
            height: 100px;
            background-color: pink;
            /* transition: 变化的属性 花费的时间 运动曲线 何时开始 */
            transition: width .5s;
        }
        
        div:hover {
            width: 400px;
        }
    </style>
</head>

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

添加过渡属性后,鼠标再次经过盒子,盒子就会慢慢变宽

注意:
 如果想要写多个属性,利用逗号进行分割

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS3过渡效果</title>
    <style>
        div {
            width: 200px;
            height: 100px;
            background-color: pink;
            /* transition: 变化的属性 花费的时间 运动曲线 何时开始 */
            /* transition: width .5s; */
            /* 如果想要写多个属性,利用逗号进行分割 */
            transition: width .5s, height .5s;
            /* 或者:trasition: all .5s; */
        }
        
        div:hover {
            width: 400px;
            height: 200px;
        }
    </style>
</head>

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

小练习:
进度条
鼠标经过时进度条会慢慢拉满

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>CSS3过渡练习-进度条</title>
    <style>
        .bar {
            width: 150px;
            height: 15px;
            border: 1px solid red;
            border-radius: 7px;
            padding: 1px;
        }
        
        .bar_in {
            width: 50%;
            height: 100%;
            background-color: red;
            border-radius: 7px;
            /* 谁做过渡给谁加 */
            transition: all .7s;
        }
        
        .bar:hover .bar_in {
            width: 100%;
        }
    </style>
</head>

<body>
    <div class="bar">
        <div class="bar_in"></div>
    </div>
</body>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值