如何删除html原生对话框的宽度

问题描述 投票:0回答:1

我想在小屏幕上以全宽和全高显示对话框。这似乎有效。但是,当我尝试在较大的屏幕中删除宽度和高度(通过使用未设置、自动或初始)时,它不起作用。有办法做到吗?

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style>
      dialog {
        width: 100dvw;
        height: 100dvh;
      }

      @media (min-width: 700px) {
        dialog {
          width: unset;
          height: unset;
        }
      }
    </style>
  </head>
  <body>
    <dialog open>Hello!</dialog>
  </body>
</html>

html css web-frontend
1个回答
0
投票

使用

revert
将属性重置回 UA 样式。
unset
将其设置回初始默认值,即填充容器宽度的
auto

根据 spec 对话框的宽度和高度应设置为

fit-content
。我不确定 safari 使用什么值,但应该将
revert
恢复到它所使用的任何值。

dialog {
  position: absolute;
  inset-inline-start: 0; inset-inline-end: 0;
  width: fit-content;
  height: fit-content;
  margin: auto;
  border: solid;
  padding: 1em;
  background-color: Canvas;
  color: CanvasText;
}
© www.soinside.com 2019 - 2024. All rights reserved.