css - 全屏造型 body 元素?

标签 css html fullscreen

我的网站应用了平铺背景图像,可以在照片过渡时在照片后面看到它(大多数照片填充背景)。在这里看看:http://new.element17.com .

但是,当以全屏方式查看时(使用 Chrome/Mozilla 中右上角的按钮),此背景图像会消失,然后背景只是 #fff。我该如何设计它?

根据一些阅读,我尝试了以下方法:

body:-webkit-full-screen {background-image:url(../images/olive.jpg);}
body:-moz-full-screen {background-image:url(../images/olive.jpg);}
body:-ms-full-screen {background-image:url(../images/olive.jpg);}
body:-o-full-screen {background-image:url(../images/olive.jpg);}
body:full-screen {background-image:url(../images/olive.jpg);}

但这不会导致任何改变。有什么想法吗?

最佳答案

我很确定如果您让某个元素进入全屏模式,而不是在文档对象上进行,您可以从那里向下设置样式。

您需要在要全屏显示的元素上触发requestFullScreen 方法。在本例中,它是根 html 元素。这是我在需要时拼凑的方法:

function enter_full_screen(){
    elem    = document.getElementsByTagName('html')[0];
    calls   = ['requestFullScreen','webkitRequestFullScreen','mozRequestFullScreen'];

    for(var i = 0; i < calls.length; i++){
        if(elem[calls[i]]){
            elem[calls[i]]();
            return;
        }
    }
}

然后样式将变为:

:-webkit-full-screen body {background-image:url(../images/olive.jpg);}
:-moz-full-screen body {background-image:url(../images/olive.jpg);}
:full-screen body {background-image:url(../images/olive.jpg);}

我整理了一个简单的示例页面来展示这一点:Example (只需使用退出键退出全屏——我没有理会退出按钮)

此外,根据 the MDN docs在全屏模式上,没有版本的IE支持全屏模式,Opera使用无前缀版本触发,不支持伪类。如果您想完全支持 Opera,您可能需要考虑在进入全屏时手动向 htmlbody 元素添加一个类,并在退出时将其删除。

另一个有趣的事实:the docs说 Gecko 和 Webkit 使用(前缀):full-screen 作为伪类,但实际的 W3C 提案使用 :fullscreen——单词之间没有破折号。我都用过,只是为了安全......

关于css - 全屏造型 body 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13406334/

相关文章:

javascript - 使用 javascript DOM document.createElement 在新行上创建 <select> 表单

javascript - 如何在单个 HTML5 全屏模式下显示 2 个视频

Java 全屏模式不适用于 Ubuntu

用于 CSS 属性的 Jquery 轻松更改并再次返回原位

html - 在 CSS3 中创建形状模型按钮

html - Div 中的 Youtube Iframe,背景卡在图像响应上

java - 使用 Java 锁定屏幕

html - PSD 到 HTML 元素尺寸

jquery 切换仅适用于部分 div

html - CSS - 删除 <a href ="#"> 的下划线