【发布时间】:2014-03-20 13:01:58
【问题描述】:
我正在尝试设置一个登陆欢迎页面,该页面将填充用户浏览器的整个视口。我希望在其上方有一些居中的内容,可能是一些文本或某种幻灯片。我以前将内容居中,这不是真正的问题。我还需要将导航栏固定到元素的底部。我不能使用绝对定位,因为当我滚动过去时我需要它贴在窗口顶部。我试过用 flexbox 来做这件事,但遇到了很多问题。首先是导航栏是从中间开始的,其次是居中的内容不在中间,它似乎稍微偏右。
这是我正在使用的 css:
html, body {
width: 100%;
height: 100%;
}
.navbar {
margin-bottom: 0;
width: 100vw;
}
.full-size {
height: 100vh;
}
#page-welcome {
background: url(http://placekitten.com/1920/1080);
-moz-background-size: cover;
-o-background-size: cover;
-webkit-background-size: cover;
background-size: cover;
}
.align {
display: flex;
justify-content:center;
align-items: center;
height:100%;
}
.align > .end{
align-self:flex-end;
}
.align > .top{
align-self:flex-start;
}
我还有一个 CodePen 可以在这里演示我的问题: http://codepen.io/anon/pen/GCpzE
【问题讨论】:
-
不是每个浏览器都能理解 vh/vw 单位,尤其是移动浏览器。最好提供某种回退,否则一切都会被压扁。
标签: html css twitter-bootstrap flexbox