迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 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 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Angular 中上传文件

发布时间:2023/04/14 浏览次数:71 分类:Angular

本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。

Angular 2 中的复选框双向数据绑定

发布时间:2023/04/14 浏览次数:139 分类:Angular

本教程演示了如何一键标记两个复选框。这篇有 Angular 的文章将着眼于执行复选框双向数据绑定的不同方法。

在 AngularJs 中加载 spinner

发布时间:2023/04/14 浏览次数:107 分类:Angular

我们将介绍如何在请求加载时添加加载 spinner,并在 AngularJs 中加载数据时停止加载器。

在 Angular 中显示和隐藏

发布时间:2023/04/14 浏览次数:78 分类:Angular

本教程演示了 Angular 中的显示和隐藏。在开发商业应用程序时,我们需要根据用户角色或条件隐藏一些数据。我们必须根据该应用程序中的条件显示相同的数据。

在 Angular 中下载文件

发布时间:2023/04/14 浏览次数:104 分类:Angular

本教程演示了如何在 angular 中下载文件。我们将介绍如何通过单击按钮在 Angular 中下载文件并显示一个示例。

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便