在 CSS 中设置淡入淡出
本文将介绍 CSS 中设置过渡的方法。我们将学习在 opacity
、height
和 visibility
上使用过渡来在悬停和悬停时提供淡入和淡出效果。
我们不能在 CSS 的 display
属性中使用 transition
属性。例如,我们不能使用 CSS transition
属性在悬停(鼠标进入)后将 display : none
更改为 display : block
,反之亦然。因此,我们可以使用 opacity
和 visibility
属性以及过渡来为项目提供淡入和淡出效果。Transition 具有某些属性,例如 transition-property
、transition-duration
、transition-timing-function
和 transition-delay
。我们也可以使用 transition 速记属性作为 transition : opacity 2s linear 1s
。这里 opacity
表示 transition-property
,2s
表示 transition-duration
,linear
表示 transition-timing-function
,而 1s
表示 transition-delay
。我们可以使用悬停来试验 transition
。
例如,创建一个 div
并使用 ul
和 li
标签创建一个包含三个无序列表项的列表。给 div
一个 1px solid black
的边框以查看它。将 ul
的属性设置为 opacity: 0
和 visibility: hidden
和 transition: visibility 0s, opacity 0.6s linear
。我们同时使用 opacity
和 visibility
因为如果我们只使用 opacity: 0
,项目仍然可以点击和悬停。将 ul
悬停属性设置为 visibility: visible
和 opacity: 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: none
和 display: block
上使用过渡的替代方法可能是与过渡一起使用的 height
、overflow
和 opacity
属性。我们可以为列表设置 opacity : 0
和 height : 0
以便看不到项目。我们还必须设置 overflow: hidden
,以便项目不会超出 div
而 transition-duration
需要时间。我们可以像第一种方法一样使用 transition
速记属性。
例如,创建一个 div
并使用 ul
和 li
标签创建一个包含三个无序项目的列表。给 div
一个 1px solid black
边框,与第一种方法相同。将 ul
的属性设置为 opacity: 0
、overflow: hidden
和 height: 0
。将 transition
属性的值设置为 opacity 0.6s ease-in
。将 ul
悬停属性设置为 height: auto
和 opacity: 1
,以便 ul
的列表项仅在悬停时显示一些 transition
效果。
下面的例子显示 div
为空,div
的 height
为 0px
。但是,当我们将鼠标悬停在 div
上时,项目列表会以 ease-in
效果显示。ease-in
选项设置过渡的缓慢开始。div
的 height
属性变为 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;
}
相关文章
在 Angular 中上传文件
发布时间:2023/04/14 浏览次数:71 分类:Angular
-
本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。
Angular 中所有 Mat 图标的列表
发布时间:2023/04/14 浏览次数:91 分类:Angular
-
本教程演示了在哪里可以找到 Angular 中所有 Mat 图标的列表以及如何使用它们。
Angular 2 中的复选框双向数据绑定
发布时间:2023/04/14 浏览次数:139 分类:Angular
-
本教程演示了如何一键标记两个复选框。这篇有 Angular 的文章将着眼于执行复选框双向数据绑定的不同方法。
在 AngularJS 中重新加载页面
发布时间:2023/04/14 浏览次数:142 分类:Angular
-
我们可以借助 windows.location.reload 和 reload 方法在 AngularJS 中重新加载页面。
在 AngularJs 中设置 Select From Typescript 的默认选项值
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程提供了在 AngularJs 中从 TypeScript 中设置 HTML 标记选择的默认选项的解释性解决方案。
在 AngularJS 中启用 HTML5 模式
发布时间:2023/04/14 浏览次数:150 分类:Angular
-
本文讨论如何在 AngularJS 应用程序上启用带有深度链接的 HTML5 模式。
在 AngularJs 中加载 spinner
发布时间:2023/04/14 浏览次数:107 分类:Angular
-
我们将介绍如何在请求加载时添加加载 spinner,并在 AngularJs 中加载数据时停止加载器。
在 Angular 中显示和隐藏
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程演示了 Angular 中的显示和隐藏。在开发商业应用程序时,我们需要根据用户角色或条件隐藏一些数据。我们必须根据该应用程序中的条件显示相同的数据。
在 Angular 中下载文件
发布时间:2023/04/14 浏览次数:104 分类:Angular
-
本教程演示了如何在 angular 中下载文件。我们将介绍如何通过单击按钮在 Angular 中下载文件并显示一个示例。