为什么 universal/wildcard 选择器上的悬停伪选择器似乎不适用?

Why does hover pseudo-selector on universal/wildcard selector seem to not apply?

最小可重现示例

<html>
 <head>
  <style>
   div {
    background-color: #F00;
   }
   * button {
    opacity: 0;
   }
   *:hover button {
    opacity: 1;
   }
  </style>
 </head>
 <body>
  <button>hello</button>
  <div>
   <button>world</button>
  </div>
 </body>
</html>

预期行为与实际行为

我的环境

我的问题

感谢@TemaniAfif(参见问题中的评论)。

答案是您需要在HTML 文件的顶部声明一个文档类型。没有它,各种浏览器将在 "quirks mode" 中呈现页面,这允许向后兼容旧网站。