css - 带有动画的屏幕叠加效果(从右到左显示)
问题描述
我有以下叠加层
<div id="overlay"></div>
#overlay {
position: fixed;
display: none;
width: 100%;
height: 100%;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0,0,0,0.5);
z-index: 2;
cursor: pointer;
}
立即弹出。我想用动画效果让这个覆盖覆盖屏幕,在 1000 毫秒内从右到左出现。
我知道这对于 jQuery 是可行的,但我不想将它安装在我的 Angular 应用程序中。是否可以使用 typescript 和 CSS 来制作它?
谢谢。
解决方案
是的,您可以animation
使用@keyframes
:
#overlay {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0,0,0,0.5);
z-index: 2;
cursor: pointer;
animation: slide-in 1s both;
}
@keyframes slide-in {
from {
transform: translateX(100%);
}
to {
transform: translateX(0);
}
}
<div id="overlay"></div>
推荐阅读
- css - 为 TypeScript、React NPM 包添加样式
- gdal - 使用 GDAL 将 GeoTIFF 文件写入 GRIB2
- multithreading - 在 Python 中并行化使用 BeautifulSoup 的 for 循环
- javascript - TypeError:无法读取未定义的 Nodejs Mysql 查询结果的属性“标题”
- python - NoReverseMatch:未找到带有参数“(1,)”的“详细信息”的反向。尝试了 1 种模式:['polls\\/\\
$'] - javascript - 替换innerHTML时修复光标位置
- python - 如何获取 scrapy.http.request.Request?
- php - 在 PHP 8 中,如何通过反射检查传递对象是否有效?
- swift - 如何在 SwiftUI 中使用 MVVM 持久化数据?
- azure-devops - 如何在 azure 中的两个 yaml 管道之间传递变量值