有了弹性盒和怪异盒的基础,今天跟着做了一个支付宝页面的小案例。感觉很有意思。
安利一个网站iconfont-阿里巴巴矢量图标库:里面有各种我们平时要用到的小图标,免费下载就很nice!
先来看一下咱们今天要做的这个页面
整体分header、section和footer三部分
header
header部分是几个<i>标签,里面用src引入了在阿里巴巴矢量图标库下载的图标,看起来像图,其实是字体样式,还引入了一个<span>标签来写“账单”这个文字。将header设置一个整体的宽和高,并且设置上display: flex;使之具备弹性盒的属性,里面的行内元素就会变成块级元素。就可以设置宽和高了。设置和几个图形的宽和高,字体颜色和字体大小,并且使之居中,然后span标签就可以用flex: 1;使它占满剩下的宽度。
section
section部分又分三块:
最上面部分也需要让它成为一个弹性盒,默认水平方向排列,因为“扫一扫”这一行图标距离整个宽度有一些距离,里面的项目也是等距离排列开,所以需要设置距离环绕属性,并且使里面的项目在侧轴方向居中。然后对里面的<i>、<span>标签设置字体大小以及颜色,并且使之水平居中。
中间部分的大盒子需要flex-wrap: wrap使里面的项目折行显示,因为有边框,所以需要将里面的每个项目设置成怪异盒模型,使之即使设置了边框,也只会压缩内部宽度,不会掉下来。
最后是一样图片,直接img标签导入就可以,然后设置一下上边距。
footer
footer部分设置了四个div,因为图标和内容是竖直排列的,所以需要将弹性盒的主轴修改成竖直方向。然后设置在主轴和侧轴上居中。footer部分需要将剩余高度占满,所以用到 flex: 1;属性,最后对应设置图标、字体的颜色和大小。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./font/iconfont.css">
<style>
*{
margin: 0;
padding: 0
}
.box{
width: 955px;
height: 1420px;
margin: 0 auto;
display: flex;
flex-direction: column;
}
/* header设置 */
header{
height: 124px;
background-color: #242a3a;
display: flex;
}
.box header i{
width: 118px;
height: 124px;
line-height: 124px;
text-align: center;
font-size: 48px;
color: white;
}
header span{
color: white;
font-size: 40px;
flex: 1;
height: 124px;
line-height: 124px;
}
/* section设置 */
section .main{
display: flex;
height: 278px;
background-color: #242a3a;
justify-content:space-around;
align-items:center;
}
section .main div{
width: 120px;
height: 168px;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.main div i{
font-size: 110px;
text-align: center;
color: white;
}
.main div span{
font-size: 32px;
text-align: center;
color: white;
}
.list{
display: flex;
flex-wrap: wrap;
}
.list div{
width: 25%;
height: 208px;
border: 1px solid gray;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.list div i{
height: 77px;
font-size: 55px;
}
.list div span{
height: 61px;
font-size: 30px;
}
.pic{
margin-top: 25px;
}
/* footer设置 */
footer{
height: 128px;
background-color: gray;
display: flex;
}
footer div{
flex: 1;
box-sizing: border-box;
flex-direction: column;
display: flex;
align-items: center;
justify-content: center;
color: #acadaf;
background-color: white;
}
footer div:hover{
color: #06a9ee;
}
footer div i{
height: 66px;
font-size: 58px;
}
footer div span{
height: 36px;
font-size: 28px;
}
</style>
</head>
<body>
<div class="box">
<header>
<i class="iconfont icon-zixun"></i>
<span>账单</span>
<i class="iconfont icon-wode"></i>
<i class="iconfont icon-fangdajing"></i>
<i class="iconfont icon-jia"></i>
</header>
<section>
<div class="main">
<div class="">
<i class="iconfont icon-zanting3"></i>
<span>扫一扫</span>
</div>
<div class="">
<i class="iconfont icon-zhifu-01"></i>
<span>支付</span>
</div>
<div class="">
<i class="iconfont icon-zixun"></i>
<span>账单</span>
</div>
<div class="">
<i class="iconfont icon-qiaquan"></i>
<span>卡券<span>
</div>
</div>
<div class="list">
<div>
<i class="iconfont icon-feiji"></i>
<span>信用卡还贷</span>
</div>
<div>
<i class="iconfont icon-feiji"></i>
<span>信用卡还贷</span>
</div>
<div>
<i class="iconfont icon-feiji"></i>
<span>信用卡还贷</span>
</div>
<div>
<i class="iconfont icon-feiji"></i>
<span>信用卡还贷</span>
</div>
<div>
<i class="iconfont icon-feiji"></i>
<span>信用卡还贷</span>
</div>
<div>
<i class="iconfont icon-feiji"></i>
<span>信用卡还贷</span>
</div>
<div>
<i class="iconfont icon-feiji"></i>
<span>信用卡还贷</span>
</div>
<div>
<i class="iconfont icon-feiji"></i>
<span>信用卡还贷</span>
</div>
<div>
<i class="iconfont icon-feiji"></i>
<span>信用卡还贷</span>
</div>
<div>
<i class="iconfont icon-feiji"></i>
<span>信用卡还贷</span>
</div>
<div>
<i class="iconfont icon-feiji"></i>
<span>信用卡还贷</span>
</div>
<div>
<i class="iconfont icon-feiji"></i>
<span>信用卡还贷</span>
</div>
</div>
<div class="pic">
<img src="./img/1.png">
</div>
</section>
<footer>
<div>
<i class="iconfont icon-zhifubao"></i>
<span>支付宝</span>
</div>
<div>
<i class="iconfont icon-zhifubao"></i>
<span>支付宝</span>
</div>
<div>
<i class="iconfont icon-zhifubao"></i>
<span>支付宝</span>
</div>
<div>
<i class="iconfont icon-zhifubao"></i>
<span>支付宝</span>
</div>
</footer>
</div>
</body>
</html>