iOS 7+ 允许创建全屏应用,但是当状态栏覆盖你的应用时,会有这样的问题:
不好! | 好! |
<html>
(如果不是的话,移除这个类)。通过"with-statusbar-overlay"类(应用处于全屏模式的时候),<html>
在顶部拥有额外的padding,把整个应用的内容下移状态栏的高度(20px)。为了配合上面的功能,我们需要在<body>
内添加<div class="statusbar-overlay">
:
... <body> <div class="statusbar-overlay"></div> ...
这个"statusbar-overlay"div总是固定在屏幕顶端,默认隐藏。当应用处于全屏模式,并且html
含有"with-statusbar-overlay"类时,它可见。
为了使我们的状态栏背景变成粉色,我们只需要添加一个CSS规则:
.statusbar-overlay { background: pink; }
这种逻辑允许对状态栏背景自由地控制,我们可以动态改变它的背景。
比如,我们有暗色的带有覆盖效果的左侧边栏。当侧边栏打开时,我们可以让状态栏背景更暗:
/* Default Status bar background */ .statusbar-overlay { background: pink; /* We can add transition for smooth color animation */ -webkit-transition: 400ms; transition: 400ms; } /* Change Status bar background when panel opened */ body.with-panel-left-cover .statusbar-overlay { background: #222; }
问题
在大屏幕网络应用上,状态栏文本颜色总是白色的,没有必要改变它。
在PhoneGap应用中,默认情况下,应用状态栏文本颜色总是黑色的。在Framework7中,它不能被改变,但可以通过PhoneGap插件定制,如cordova-plugin-statusbar。