页面布局
给小猪快递的公共头尾及内容进行布局。希望展示的效果是,头部和底部都紧贴屏幕上下两端,中间内容随着高度自适应撑开,如果内容过多时候,将会自动的把底部挤压下去。内容不足以挤压底部的时候,底部将紧贴屏幕底部。
app.css
- 设置 html,body 元素高度为至少 100%,如果不设置的话,html 和 body的高度将随内容的增大而增大。
html{
height: 100%;
}
body{
min-height: 100%;
}
- 设置公共部分 Flex 布局。以 body 为容器,page-header、page-body、page-footer 为子容器垂直向下布局。
html{
height: 100%;
}
body{
min-height: 100%;
display: flex;
flex-direction: column;
}
- 设置 page-body 为自动占用所有多余的空间部分。
html{
height: 100%;
}
body{
min-height: 100%;
display: flex;
flex-direction: column;
}
.page-body{
flex: 1;
}
- 设置公共头部内边距,让内容不要太贴近边边。同时设置阴影以和下部分内容相区分。
.page-header{
padding: 5px 10px;
box-shadow: 2px 2px 2px #ccc;
}
- 设置用户信息为行内块级元素,因为div为块级元素会充满整行。设置头像大小为 40 * 40 同时与昵称居中对齐。
.user-info{
display: inline-block;
}
.user-info .user-avatar{
width: 40px;
height: 40px;
vertical-align: middle;
border-radius: 50%;
}
.user-info .user-nickName{
vertical-align: middle;
}
- 让导航内容浮动到右侧,并设置行高与左侧个人信息高度相等,这样视觉效果看起来就居中了。
.page-nav{
float: right;
font-size: 16px;
line-height: 40px;
}
- 设置公共内容宽度为 750 局中,并设置一些内边距。
.container{
max-width: 750px;
margin: 0 auto;
padding: 30px;
}
- 返回body选择器设置公共字体类型和颜色
body{
min-height: 100%;
display: flex;
flex-direction: column;
font: 14px/1.5 "Helvetica Neue", Helvetica, Arial, "Microsoft Yahei", sans-serif;
color: #333;
}
- 设置脚步文字样式,大小、颜色、对齐方式。
.page-footer{
font-size: 12px;
line-height: 40px;
text-align: center;
color: #999;
letter-spacing: .5px;
}