博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
原创:新手布局福音!微信小程序使用flex的一些基础样式属性(二)
阅读量:5891 次
发布时间:2019-06-19

本文共 3438 字,大约阅读时间需要 11 分钟。

来源:

作者:Nazi

接下来 再介绍两个属性,align-items 和 align-self

align-items: flex-start | flex-end | center | baseline | stretch;

align-self: auto | flex-start | flex-end | center | baseline | stretch;

align-items是在所有项目上的对齐方式。

align-self是在单独的项目上的对齐方式。

不同属性值下的表现:(横轴上规定的是 flex-start)

css样式为:

.container{width: 100%;height: 400px;background-color: #ccc;display: flex;/*or inline-flex*/flex-flow:row wrap;justify-content:flex-start;align-items: flex-start;}.item{flex:0 0 30%;min-height: 100px;}

align-items: flex-start

clipboard.png

align-self: flex-start

clipboard.png

修改样式:(后面的修改下同)

.container{width: 100%;height: 400px;background-color: #ccc;display: flex;/*or inline-flex*/flex-flow:row wrap;justify-content:flex-start;/*align-items: flex-start;*/}.item{flex:0 0 30%;min-height: 100px;max-height: 300px;}.item:nth-child(2){max-height: 200px; align-self: flex-start;}

align-items: flex-end

clipboard.png

align-self: flex-end

clipboard.png

align-items: center;

clipboard.png

align-self: center;

clipboard.png

align-items:baseline;

clipboard.png

align-self:baseline;(为了更好的能看出效果这里限制所有的项目最小高度为100px最大高度不定)

clipboard.png

align-items: stretch; / align-self: stretch;

侧轴的长度属性为auto 这个值会使外边距盒子的尺寸按照min/max 的长度接近所在行的尺寸

另外:float clear vertical-align 在flex布局里里面是无效的。

属性介绍到这里,就来先看看这个布局的灵活性是如何体现的。

当只有一个flex项目的时候,结构如此下:

在微信小程序里面可以是这样的结构:

给他设定才css样式,

.container{width: 100%;height: 400px;background-color: #ccc;display: flex;flex-flow:row wrap;justify-content:flex-start;}.item1{background-color: #0074e0;width: 50px;height: 50px;}

显示是这样的:

clipboard.png

但是要让他完全居中的样子,比如:

clipboard.png

css样式设定如下

.container{width: 100%;height: 400px;background-color: #ccc;display: flex;flex-flow:row wrap;justify-content:center; /*样式修改在这里*/align-items: center; /*样式修改在这里*/}.item1{background-color: #0074e0;width: 100px;height:100px;}

现在让他在右下角显示如下:

clipboard.png

CSS样式设置:

.container{width: 100%;height: 400px;background-color: #ccc;display: flex;flex-flow:row wrap;justify-content:flex-end; /*样式修改在这里*/align-items:flex-end; /*样式修改在这里*/}.item1{background-color: #0074e0;width: 100px;height:100px;}

在加上一个项目:(后面新增不再赘述)

在微信小程序里面可以是这样的结构:

左上横排

clipboard.png

.container{width: 100%;height: 400px;background-color: #ccc;display: flex;flex-flow:row wrap;justify-content:flex-start;align-items:flex-start;}

水平方向居中

clipboard.png

.container{width: 100%;height: 400px;background-color: #ccc;display: flex;flex-flow:row wrap;justify-content:center;align-items:flex-start;}

两个项目不贴在一起

clipboard.png

.container{width: 100%;height: 400px;background-color: #ccc;display: flex;flex-flow:row wrap;justify-content:space-around;align-items:flex-start;}

从上面的列子看来,仅仅只是就该某些css的属性,就能达到以前需要花大量css样式的声明才能达到的效果。

跟新。。。写糊涂了。再次感谢指出错误。再来看看下面这个

clipboard.png

html的结构如下:

css样式如下:

.container{        width: 400px;        height: 400px;        background-color: #ccc;        display: flex;        flex-wrap: wrap;        align-content: space-around;}.row{  display:flex;  flex-basis: 100%;  justify-content:space-around;}.item1,.item2{  width: 100px;  height:100px;}.item1{  background-color: #0074e0;}.item2{  background-color: #008c00;}

仅仅只是添加下一条css样式,然后增加项目个数,修改下外框的宽高度就有这样的效果显示。

一些基本的flex布局的样式就说到这里了,这只是一个很小的点,其他的更多的是体现出这布局项目里面的伸缩的计算方式 排列方式,如:order flex-grow flex-shrink flex-basis 等。更多的技巧则需要自己去深层次的探索。这里仅仅只是基础,大神们无视就好。

附加:简单的说下flex-basis: 100%; 这个属性定义了Flex项目在分配Flex容器剩余空间之前的一个默认尺寸。

转载地址:http://ahfsx.baihongyu.com/

你可能感兴趣的文章
【转】EDK简单使用流程(3)
查看>>
仿射变换
查看>>
分页器(自定制)
查看>>
初次安装git配置用户名和邮箱及密钥
查看>>
6.1(续)索引、索引组织表--Oracle模式对象
查看>>
动画 球
查看>>
C++中的堆,栈,静态内存区,常量区
查看>>
动态SQL实现与注意事项(有返回值与无返回值动态SQL 实现)
查看>>
java struts2 debug
查看>>
Android图片圆角效果
查看>>
WeChat Official Account Admin Platform API Introduction
查看>>
C语言写单链表的创建、释放、追加(即总是在最后的位置增加节点)
查看>>
C# LINQ详解(一)
查看>>
视频直播点播nginx-rtmp开发手册中文版
查看>>
ruby学习总结04
查看>>
Binary Tree Paths
查看>>
Ueditor自定义ftp上传
查看>>
线程以及多线程
查看>>
PHP队列的实现
查看>>
单点登录加验证码例子
查看>>