flex布局

基础知识

box-sizing

  盒子模型是CSS布局中的基础,而在Web端,我们在写盒子的长宽(width/height)时,一般都是写内容区的长宽

  但实际上,可以通过box-sizing属性,修改其值为border-box或者content-box(默认值)

  (放示意图,待补充)

  一般在移动端用border-box为多,这样可以方便后期的修改

图标字体

  移动端开发中,会有各种小的图片(例如最下方的导购等),这些图片是可以用图标字体代替的,目的是方便改变颜色等样式

  这里可以使用阿里的iconfont库(链接地址

  进入之后注册一个账号,然后可以添加项目,把自己需要的图标添加到购物车,添加完毕后点击下载,把下载好的内容放到assets文件夹中即可

  当然也可能出现下载失败的问题,这时候就复制(未完待续)

 

flex布局

基本概念

  flex布局即弹性布局,其中采用flex布局(display属性值为flex或inline-flex)的元素为flex容器,而容器中的所有子元素为容器成员,称为flex项目

  如下图(图片选自慕课网),flex容器中,默认水平方向为主轴,垂直方向为交叉轴,主轴和交叉轴都有开始和结束,而每一个项目在主轴方向上的宽称为主轴空间,交叉轴方向上的高称为交叉轴空间

  

  默认情况下,项目是沿着主轴方向排列的

容器属性

display

  可以设置flexinline-flex两个属性值,在没有设置容器宽度时,flex的容器有着自己的宽度,而inline-flex的容器的宽度由其中的项目决定

flex-direction

  该属性决定了项目排列的方向(主轴/垂直轴,正向/反向)

  默认值为row(主轴,从左向右排列),也可设置为row-reverse(主轴,从右向左排列)、column(交叉轴,从上向下排列)、column-reverse(交叉轴,从下向上排列)

flex-wrap

  该属性设置了如果一条轴上排列不下所有项目,如何换行

  默认值为nowrap(不换行,但是每一个项目的尺寸会被压缩),也可设置wrap(换行)、wrap-reverse(换行,新的行在上方)

  

flex-flow

  该属性为flex-directionflex-wrap的综合,默认值为row nowrap

justify-content

  该属性定义项目主轴上的排列方式,但是仍然设置在容器上

  默认值为flex-start(左侧对齐),也可以设置flex-end(右侧对齐)、center(居中对齐)、space-between(两侧顶头对齐,空格在中间)、space-around(两侧对齐,项目之间等间距)

  

align-items

  该属性定义项目交叉轴上的排列方式,同样设置在容器上

  默认值为stretch,也可以设置为flex-start(交叉轴顶部对齐)、flex-end(交叉轴底部对齐)、center(交叉轴居中对齐)、baseline(文字第一行基线对齐,基线可以理解成下划线的位置)

  

  其中,如果属性值为stretch时,如果项目没设置高度/设置高度为auto,则项目高度自动占满容器高度

align-content

  该属性定义多根轴线在交叉轴上对齐方式,如果只有一行则不起作用

  默认值为stretch(轴线占满整个交叉轴),也可以设置为flex-start(顶部对齐)、flex-end(底部对齐)、center(垂直居中对齐)、space-betweenspace-around

posted @ 2019-10-02 16:59  且听风吟720  阅读(259)  评论(0编辑  收藏  举报