如何设置视频 iFrame 的样式?

How to style a video iFrame?

我想设计我的 iFrame 嵌入式视频控件的样式,以便它不会具有浏览器的控件样式,而是我自己的样式。我已经搜索过,但找不到合适的答案。请有人知道我如何通过 JavaScript 或 CSS 或 link 来实现这一点,这可以帮助我。我可以在 YouTube 等网站上看到视频播放器的样式。

您需要将 CSS 添加到 iframe,方法是向其内容添加 linkstyle 元素,就像您在普通文档中所做的那样。

另一种更适合您的问题的方法是使用 shadow DOM。以下 Javascript 代码说明了如何使用此技术。

var host = document.createElement("div");
var shadow = host.createShadowRoot();

var video = document.createElement("video");

// ... set video.src, etc.

var style = document.createElement("style");

// set the styling of your video element, e.g.:
style.innerHTML = "video { border: 5px solid red; }";

shadow.appendChild(style);
shadow.appendChild(video);

// insert the host of the shadow root to the document, e.g.:
document.body.appendChild(host);

您定义的样式将仅应用于影子根内的 HTML,从而防止对文档的其余部分进行样式设置。 JSFiddle demo.