html5实现全屏,你会几招?

在我们平时的生活工作中,尤其是电脑手机控,对于全屏都不会陌生,尤其玩游戏,看视频等大家都喜欢会全屏模式,因为这样更爽,哈哈。

那么我们怎么实现全屏,或者说用什么方法可以实现,或者说html5可以实现吗,有几种方法可以实现呢,今天我们就来分享一下,教你几个绝招:

进入和退出全屏

html5实现全屏,你会几招?_第1张图片

事件监听

html5实现全屏,你会几招?_第2张图片

css伪类

:fullscreen – 当前全屏化的元素

:fullscreen-ancestor – 所有全屏化元素的祖先元素

标签属性

全屏并非简单地去掉浏览器地址栏和状态栏而已,它和按f11进入全屏有不少区别:

1)在safari和chrome下,全屏后的元素全自动全屏居中,且背景色变为黑色。我尝试过通过给body设背景色来改变下背景色的颜色,失败。在firefox下,全屏后的背景色为全屏那个元素的背景色,且元素并不居中。如果给body调全屏,在webkit内核的浏览器下和按11进入的全屏效果差得很远,主要是背景色问题,而firefox下则效果接近于f11全屏——当然还是有区别,比如进入全屏的动画过程就不相同。

2)退出全屏是通过给document来调来cancelFullScreen方法,但如果想让页面所有元素全部进入全屏的话,不能给document调requestFullScreen,只能给body调。

3)onFullScreenChange事件的回调,在safari里不能写alert,如果写alert,点击后会自动退出全屏。

4)按f11进入的全屏,onFullScreenChange事件不会响应。

5)进入全屏一定要点击某个节点,不能直接调进入全屏api。mouseover、mousemove等接近onload的事件也不行。click、mousedown、mouseup事件可以。策略应该同window.open应该是一样的。

6)ios暂不支持全屏api。

html5实现全屏,你会几招?_第3张图片

喜欢就多点赞转载啦,也欢迎大家指出不足,共同进步一起飞!

你可能感兴趣的:(html5实现全屏,你会几招?)