标签: backdrop

如何在 HTML <dialog> 后面设置 CSS ::backdrop 动画?

<dialog>元素现已跨浏览器兼容(自2022 年 3 月起)。

我今天尝试了一下并熟悉了:

  • 超文本标记语言

    • <dialog>
  • JavaScript

    • .show()
    • .showModal()
    • .close()
  • CSS

    • ::backdrop

一切看起来都很简单,但到目前为止我无法实现的一件事是:淡出背景

例如,如果我希望背景的最终颜色为:

  • background-color: rgba(0, 0, 63, 0.8);

但有它transition(或animate)来自background-color

  • background-color: rgba(0, 0, 0, 0);

这可能吗?


这是我的(非工作)示例:

const myButton = document.querySelector('button');
const myDialog = document.querySelector('dialog');

const requestDialog = () => {
  myDialog.showModal();
  setTimeout(() => myDialog.classList.add('fadeUp'), 400);
}

myButton.addEventListener('click', requestDialog, false);
Run Code Online (Sandbox Code Playgroud)
body {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 180px;
}

button {
  position: absolute;
  top: 6px; …
Run Code Online (Sandbox Code Playgroud)

html javascript css dialog backdrop

10
推荐指数
2
解决办法
5320
查看次数

标签 统计

backdrop ×1

css ×1

dialog ×1

html ×1

javascript ×1