您好!欢迎访问家园网-www.jy.wang!

家园网

transition: opacity .2s linear;啥意思

网络 作者:本站 点击:

transition: opacity .2s linear; 详细讲解


一、含义

transition: opacity .2s linear; 是一个 CSS 过渡属性,它的意思是:当元素的 opacity(透明度)属性发生变化时,用 0.2 秒的时间以线性速度平滑地完成这个变化


二、词源

单词含义
transition过渡、转变
opacity不透明度
.2s0.2 秒(200 毫秒)
linear线性的、匀速的

三、语法分解

css

transition: [属性名] [持续时间] [速度曲线];

本句分解

  • opacity:只监控透明度属性的变化

  • .2s:过渡持续 0.2 秒

  • linear匀速变化(全程速度不变)


四、效果对比

没有 transition(瞬间变化)

css

.element {
    opacity: 1;}.element:hover {
    opacity: 0;  /* 鼠标放上瞬间变透明 */}

效果:元素瞬间从可见变成不可见(生硬、突兀)

有 transition(平滑过渡)

css

.element {
    opacity: 1;
    transition: opacity .2s linear;}.element:hover {
    opacity: 0;  /* 鼠标放上0.2秒内慢慢变透明 */}

效果:元素在 0.2 秒内平滑地淡出(流畅、自然)


五、可视化理解

text

时间轴(0.2秒 = 200毫秒)

0ms                100ms              200ms
↓                  ↓                  ↓
┌─────────────────┬─────────────────┬─────────────────┐
│                 │                 │                 │
│  opacity: 1     │  opacity: 0.5   │  opacity: 0     │
│  (完全不透明)    │  (半透明)        │  (完全透明)      │
│                 │                 │                 │
└─────────────────┴─────────────────┴─────────────────┘
       线性速度:每一步变化量相同

没有 transition:
0ms                200ms
↓                  ↓
┌─────────────────┬─────────────────┐
│                 │                 │
│  opacity: 1     │  opacity: 0     │
│  (完全不透明)    │  (完全透明)      │
│                 │                 │
└─────────────────┴─────────────────┘
      瞬间跳转,没有中间过程


六、速度曲线详解

速度变化效果
linear全程匀速机械、平稳
ease慢→快→慢(默认)自然、柔和
ease-in慢→快缓慢启动
ease-out快→慢缓慢停止
ease-in-out慢→快→慢两头慢中间快

视觉对比

text

linear:     速度 ████████████ (全程一样)
ease:       速度 ██▬▬████████▬▬ (两头慢中间快)
ease-in:    速度 ▬▬████████████ (慢启动)
ease-out:   速度 ████████████▬▬ (慢停止)


七、在商品详情页中的应用

在您的代码中,这个属性用于实现选项卡切换的淡入淡出效果

css

.mr-fade {
    opacity: 0;
    transition: opacity .2s linear;  /* 透明度变化时0.2秒平滑过渡 */}.mr-fade.mr-in {
    opacity: 1;}

效果

  • 切换选项卡时,内容面板不是突然消失/出现

  • 而是在 0.2 秒内平滑地淡出/淡入

  • 用户体验更流畅自然


八、完整写法示例

css

/* 只监控一个属性 */transition: opacity .2s linear;/* 监控多个属性(用逗号分隔) */transition: opacity .2s linear, transform .3s ease;/* 监控所有属性 */transition: all .2s linear;/* 完整写法(包含延迟) */transition: opacity .2s linear 0.1s;/*         属性   时间   速度    延迟 */


九、总结

问题答案
这行代码什么意思?透明度变化时用 0.2 秒匀速过渡
opacity 是什么?透明度属性(0=透明,1=不透明)
.2s 是什么?过渡持续时间 0.2 秒
linear 是什么?匀速变化(全程速度不变)
没有它会怎样?透明度瞬间变化,没有动画效果
有什么用?让淡入淡出效果更平滑自然

一句话总结transition: opacity .2s linear; 告诉浏览器“当这个元素的透明度变化时,别瞬间完成,用 0.2 秒的时间匀速变过去”,从而实现平滑的淡入淡出动画效果


标签: