前阵子我突然在技术群里看到有人提起flex布局。以前没听说过,只能怪我平常没有好好学习。找了度娘才知道原来早就出来了。这次做的页面主要是显示在移动端的,所以我尝试用了flexbox布局。
1、页面分析:
主要分为两部分,图片与文字的混排,左右两栏,自适应。
页面html的主要代码如下:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<div class="content-inner">
<div class="content-flow">
<p class="name">清本源五谷亮白肌底液</p>
<img class="stars" src="/public/images/act/20150730/stars.jpg" alt="">
<hr />
<p class="intro">打开肌肤吸收通道 1滴补足全天水能量</p>
<hr />
<p class="old_price">原价:¥<del>228</del></p>
<p class="new_price">优惠价:¥<span>228</span></p>
<a href="/goods/index/goods_id/293" class="details">了解详情 ></a>
<a href="/goods/index/goods_id/293#order" class="buy">立即购买 ></a>
</div>
<div class="img_show">
<img class="lazy" src="/public/images/act/20150730/img1_2.jpg" alt="">
</div>
</div>
css:1
2
3
4
5
6
7
8
9
10
11
12
13
14.content-inner{
display:flex;
display: -webkit-flex;
-webkit-align-items: center;
align-items: center;
-webkit-justify-content: center;
justify-content: center;
background: #fff;
flex-flow:row nowrap;
-webkit-flex-flow: row nowrap;
}
.content-flow{width:50%;}
.img_show{width:45%;}
其实很简单的几行css代码就可以搞定了。
首先需要在伸缩子元素的父容器加上display:flex;
属性。
flex-flow:row nowrap;
属性是设置伸缩子元素的延伸方向是水平(行),nowrap
是不换行,也就是说不管窗口如何变化,子容器都是以两栏并排的样子存在着。
因为我需要自容器内容上下左右居中显示,所以我设置了它的侧轴对齐方式和主轴对齐方式均为center。1
2align-items: center;/*侧轴对齐方式(我觉得应该就是垂直方向上的对齐)*/
justify-content: center;/*主轴对齐方式(我觉得应该就是水平方向上的对齐)*/
好了,就是这样子,两栏自适应布局就成功。真的很方便,也很简单。
下面是显示效果:
以窗口宽度640px为例:
以窗口宽度320px为例:
ok,完成了。