【问题标题】:how to set html5 video tag source from css如何从css设置html5视频标签源
【发布时间】:2020-03-14 11:30:49
【问题描述】:

任何具有 html css 专业知识的人都可以帮助我解决这个我无法解决的简单问题。

基本上,我的 html 页面有一个 video 元素,该元素附加了一个 src 属性。

现在,我要做的是,从视频元素中删除这个 src 属性,并将这个源放在那个视频元素的 css 类中。

那么,如何从 css 中设置视频元素的 src?

我尝试过使用 url,content 属性,但它似乎不起作用。
或者也许我做错了。 我将感谢任何可以为此提供任何输入或共享使用 css 设置 html5 视频元素源的小代码的人。 请帮我。 谢谢。

【问题讨论】:

  • 你不能用 CSS 做到这一点。你必须为此使用 JS。
  • 为什么?你能解释一下吗?我的意思是,可以从 css 设置 img 标签的源属性,但不能用于视频。为什么?
  • @Harshit:这也不可能。您可以通过 CSS 设置背景图片,但这不会影响元素的属性。
  • 如果您不想一开始就被加载,请使用preload="none"(HTML5 视频标签属性)。
  • @Harshit:答案是它取决于浏览器。所以更安全的选择是不要为移动浏览器设置src

标签: javascript css html


【解决方案1】:

您不能通过 CSS 设置视频源。 因为你看到下面视频的基本结构:

<video>
  <source src="sample.mp4" type="video/mp4">
  <source src="sample.ogg" type="video/ogg">
  Your browser does not support HTML5 video.
</video>

您可以设置其他属性,如背景图片、颜色等。但是,您不能通过 css 设置源,该 css 用于设计播放按钮和任何其他按钮功能。 如果您确实需要在不使用&lt;source src="sample.mp4" type="video/mp4"&gt;&lt;/source&gt; 的情况下执行此操作,则必须使用 JavaScript。

【讨论】:

    【解决方案2】:

    我使用 CSS 将显示设置为 none 或 block,以便播放视频(“sample.mp4”或“sample2.mp3”取决于用户是在他的笔记本电脑上还是在他的手机上。

    HTML:

    <video id='video'>
        <source src="sample.mp4" type="video/mp4">
        Your browser does not support HTML5 video.
    </video>
    <video id='video2'>
        <source src="sample2.mp4" type="video/mp4">
        Your browser does not support HTML5 video.
    </video>
    

    CSS:

    #video2 {display:none;}
    
    @media only screen and (max-width: 500px) {
        #video2 {display:block;}
        #video {display:none;}
    }
    

    【讨论】:

    • 这是我用过的一个很好的方法。我发现的一个问题是,如果您在每个视频播放器上设置“海报”属性(例如,一个是移动设备的小图像,另一个是台式机的雇用图像),两个横幅图像都会被下载....是的,播放器"display: none" 仍然会下载其横幅图像。这很奇怪,因为如果显示为无,则不会下载源 mp4。也许是播放器实现中的错误?我主要在 Chrome 中对此进行了测试。
    猜你喜欢
    • 2011-07-06
    • 1970-01-01
    • 2011-07-11
    • 2010-12-28
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 2012-08-01
    相关资源
    最近更新 更多