迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > CSS >

在 CSS 中设置淡入淡出

作者:迹忆客 最近更新:2023/05/09 浏览次数:

本文将介绍 CSS 中设置过渡的方法。我们将学习在 opacityheightvisibility 上使用过渡来在悬停和悬停时提供淡入和淡出效果。

我们不能在 CSS 的 display 属性中使用 transition 属性。例如,我们不能使用 CSS transition 属性在悬停(鼠标进入)后将 display : none 更改为 display : block,反之亦然。因此,我们可以使用 opacityvisibility 属性以及过渡来为项目提供淡入和淡出效果。Transition 具有某些属性,例如 transition-propertytransition-durationtransition-timing-functiontransition-delay。我们也可以使用 transition 速记属性作为 transition : opacity 2s linear 1s。这里 opacity 表示 transition-property2s 表示 transition-durationlinear 表示 transition-timing-function,而 1s 表示 transition-delay。我们可以使用悬停来试验 transition

例如,创建一个 div 并使用 ulli 标签创建一个包含三个无序列表项的列表。给 div 一个 1px solid black 的边框以查看它。将 ul 的属性设置为 opacity: 0visibility: hiddentransition: visibility 0s, opacity 0.6s linear。我们同时使用 opacityvisibility 因为如果我们只使用 opacity: 0,项目仍然可以点击和悬停。将 ul 悬停属性设置为 visibility: visibleopacity: 1,以便 ul 的列表项仅在悬停时显示一些 transition 效果。

下面的示例显示 ul 的项目仅在悬停时可见。这些项目在 0.6 秒内以线性效果出现,并在将鼠标移开时再次隐藏。

示例代码:

<div>
 <ul>
 <li> Apple </li>
 <li> Banana </li>
 <li> Mango </li>
 </ul>
</div>
div {
 border : 1px solid black;
}
div > ul {
 visibility: hidden;
 opacity: 0;
 transition : visibility 0s, opacity 0.6s linear;
}
div:hover > ul {
 visibility : visible;
 opacity : 1;
}

另一种在 display: nonedisplay: block 上使用过渡的替代方法可能是与过渡一起使用的 heightoverflowopacity 属性。我们可以为列表设置 opacity : 0height : 0 以便看不到项目。我们还必须设置 overflow: hidden,以便项目不会超出 divtransition-duration 需要时间。我们可以像第一种方法一样使用 transition 速记属性。

例如,创建一个 div 并使用 ulli 标签创建一个包含三个无序项目的列表。给 div 一个 1px solid black 边框,与第一种方法相同。将 ul 的属性设置为 opacity: 0overflow: hiddenheight: 0。将 transition 属性的值设置为 opacity 0.6s ease-in。将 ul 悬停属性设置为 height: autoopacity: 1,以便 ul 的列表项仅在悬停时显示一些 transition 效果。

下面的例子显示 div 为空,divheight0px。但是,当我们将鼠标悬停在 div 上时,项目列表会以 ease-in 效果显示。ease-in 选项设置过渡的缓慢开始。divheight 属性变为 auto。当我们从 div 中悬停时,它又变成了空的。

示例代码:

<div>
 <ul>
 <li>Apple</li>
 <li>Banana</li>
 <li>Mango</li>
 </ul>
</div>
div {
 border: 1px solid black;
}
div > ul {
 opacity: 0;
 height: 0;
 overflow: hidden;
 transition: opacity 0.6s ease-in;
}
div:hover > ul {
 opacity: 1;
 height: auto;
}

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Do you understand JavaScript closures?

发布时间:2025/02/21 浏览次数:108 分类:JavaScript

The function of a closure can be inferred from its name, suggesting that it is related to the concept of scope. A closure itself is a core concept in JavaScript, and being a core concept, it is naturally also a difficult one.

Do you know about the hidden traps in variables in JavaScript?

发布时间:2025/02/21 浏览次数:178 分类:JavaScript

Whether you're just starting to learn JavaScript or have been using it for a long time, I believe you'll encounter some traps related to JavaScript variable scope. The goal is to identify these traps before you fall into them, in order to av

How much do you know about the Prototype Chain?

发布时间:2025/02/21 浏览次数:150 分类:JavaScript

The prototype chain can be considered one of the core features of JavaScript, and certainly one of its more challenging aspects. If you've learned other object-oriented programming languages, you may find it somewhat confusing when you start

用 jQuery 检查复选框是否被选中

发布时间:2024/03/24 浏览次数:102 分类:JavaScript

在本教程中学习 jQuery 检查复选框是否被选中的所有很酷的方法。我们展示了使用直接 DOM 操作、提取 JavaScript 属性的 jQuery 方法以及使用 jQuery 选择器的不同方法。你还将找到许多有用的

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便