html 更改按钮样式导致视频停止在屏幕上显示

jdzmm42g  于 2022-12-02  发布在  其他
关注(0)|答案(1)|浏览(112)

红色按钮在此处起作用:https://jsfiddle.net/bpncm9dk/
Image

<button class="playInitial cover" type="button" data-container="play1" data-id="EK3h0IADYrQ">
  </button>

更改按钮样式后,现在没有视频显示。https://jsfiddle.net/2sL6p0ex/
我认为CSS需要以不同的方式重新排列。
这怎么写不一样呢?
Image

<button class="playInitial cover spinner" type="button" data-container="play1" data-id="EK3h0IADYrQ">
    <span class="color-circle"></span>
  </button>

CSS配置在这里将如何更改?
如果这是问题所在的话。
我所做的只是改变了按钮的样式。

.spinner {}
.spinner::before {}
.color-circle {}
.color-circle:before {}
.spinner:hover .color-circle {}

我试着改变CSS类,以不同的顺序排列它们。
代码是如何工作的,点击一个按钮,一个视频出现在屏幕上。
http://www.w3.org/TR/2012/WD-html5-20120329/the-button-element.html#the-button-element 规定<button>必须只包含短语内容。短语内容被定义为包括<span>但不包括<div>
问题是什么?如何解决?

const myVideo = document.querySelector('.video');

document.querySelectorAll('button.cover').forEach(function(button) {
  button.addEventListener('click', function(event) {
    myVideo.dataset.id = event.target.dataset.id;
  });
});
wr98u20j

wr98u20j1#

color-circle CSS类上的position: absolute;似乎正在从文档流中删除video元素。
只需删除该声明,视频就会显示出来。

.color-circle {
  position: absolute; /* <-- remove this line */
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 90px;
  height: 90px;
  transform-origin: 50% 50%;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(50%, #25d8fb),
    color-stop(100%, #4f66bb)
  );
  border-radius: 50%;
  z-index: 0;
  box-shadow: inset 0 24px 18px -10px rgba(0, 0, 140, 0.3),
    inset 0 0 22px -2px rgba(0, 0, 0, 0.4);
  cursor: pointer;
    -webkit-mask-image: radial-gradient(circle, transparent 0 36px, black 36px);
  mask-image: radial-gradient(circle, transparent 0 50px, black 20px);
}

相关问题