当前位置:首页 > 牛文 > 正文内容

HTML5/CSS/jQuery video大小屏幕自适应及获取视频宽高

admin8年前 (2017-09-30)牛文5401

今天的第一个任务,就是要让Video的大小能够满屏(适应父级div),换言之要判断高度、宽度,使之能够达到全屏的效果。


在过去的一个版本中,我们要想满屏,写了一段长长的js文件,来取高度宽度对比,之后再计算,居中也要通过js计算得出缩进值——很显然,我觉得这样不合理嘛。浪费了这么多资源在适应上,在监听时不断改变,写入CSS,看着都心累,于是在想,能不能直接通过CSS解决这样一个问题呢(自适应+水平垂直居中)。


答案是可行的。


video {

    height: 100%;

    width: 100%;

    display: block;

}

height & width设置到100%,就能达到自适应的效果了,而display:block避免了出现滚动条的情况。


那么接下来,问题来了——本身我们的player,想要取图像的宽度高度时,直接调用height(),width()就可以取到,并进行定位,现在我们要怎么办呢?


实际上,在video标签中,有这样一个属性可以为我们使用:videoHeight&videoWidth,他获取的是video的高度和宽度(媒体本身),虽然不能直接使用,但我想,我们可以通过计算长宽比来解决这个问题。


具体函数如下。


function getVideoInfo () {

    var video = $('video');

    var videoH = video[0].videoHeight;

    var videoW = video[0].videoWidth;

    console.log("Height: " + video[0].videoHeight + ", Width: " + video[0].videoWidth);

    console.log("Height: " + videoH + ", Width: " + videoW);

    var videoRatio = videoH / videoW;

    console.log(videoRatio);

    window.onresize = function() {

        if (video.height() / video.width() > videoRatio) {

            console.log('Width:' + video.width() + ' Height: ' + (video.width() * videoRatio));

        } else {

            console.log('Width:' + video.height() / videoRatio + ' Height: ' + video.height());

        }

    }

}

这里我们使用window.onresize,这个可以监听窗口大小的变化,大小变化中判断来计算值,剩下的,不用多说。


https://codesky.me/archives/html5-css-video-height-width.wind

扫描二维码推送至手机访问。

版权声明:本文由水墨优化网发布,如需转载请注明出处。

本文链接:https://www.ishnan.com/post/211.html

分享给朋友:
返回列表

上一篇:HTML 5 video 视频标签全属性详解

没有最新的文章了...

“HTML5/CSS/jQuery video大小屏幕自适应及获取视频宽高” 的相关文章

如果你已经20岁了,你真的输不起了,别再孩子了...

如果你已经20岁了,你真的输不起了,别再孩子了...

如果你到了20岁,还没到25岁 。                  ——李开复 这篇...

织梦CMS去版权

摘要: 7.列表模板 /templets/plus/list_diyform.htm 一共17+1处:1.搜索页面: /templets/default/search.htm /templets/plus/heightsearch.htm /templets/default/advancedsear...

一个北京妞儿写的 太牛逼了 都进来瞅瞅

一个北京妞儿写的 太牛逼了 都进来瞅瞅

慢慢看别闲长。看完你肯定想看第二遍,写的真是太好了,这妞太有才了,绝对是真实的写照。个人认为这篇文章:女孩看了是自省,男孩看了是激励!我认为最经典的话:  要是我的男人真的就没那本事,我就忍了,弄不好他有了本事,我就没了他呢。他没逼我长成曼玉嘉欣,我没理由逼他盖过李嘉诚。OK 不废话了。开始.......

大学生逃课的爆笑理由都有哪些?

大学生逃课的爆笑理由都有哪些?

最实事求是的理由:教授太难看,影响我的视力。最拍马屁的理由:女老师们太漂亮了,总让我魂不守舍。最无聊的理由:我同桌不陪我聊天。最可耻的理由:中午吃的太多,坐着难受。最伤心的理由:我们系最漂亮的女生跟一个还不如我四分之一帅{我个人看法}的男生在我眼前谈恋爱,这课我能上吗?最关心自己的理由:昨夜喝的太多...

zblog出现

zblog出现"错误原因:数据库连接错误"的解决方法

前几天为准备网站上线在本地电脑上调试博客的时候,由于是换了台电脑来调试zblog博客程序的,程序是按照文件路径拷贝过去的,而且IIS下虚拟目录都没变,博客前台打开也都正常显示,但是有一点小细节地方出现了错误,那就是文章的浏览次数不显示了,很明显,这是数据库出了问题了,然后查看数据库以及c_custo...

屏蔽主机屋广告

屏蔽主机屋广告

怎么能屏蔽主机屋的这个广告代码呢?其实简单的很,只是加上一个代码就可以了!,网站上传到空间以后。空间会自动在最后面加一上段代码的,只要我们在网页的最下面加上一个符号,就可以实现主机屋免费空间去广告的了,代码如下:<!--就这个东西,如果你的网站是静态页面的话,直接复制,黏贴到你网站<ht...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。