博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
搭建移动端布局框架:整合flex
阅读量:6575 次
发布时间:2019-06-24

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

0x001 概述


flex在移pc端的兼容并不是很好,但是在移动端的支持却是很好,而且
flex布局对移动端布局来说简直就是福音.但是没有经过整和处理,用
flex布局也算是艰难,所以打算搭建一套基于
flex的移动端布局工具,来学习
css,
sass,
flex.

0x002 容器类

  1. 容器工具类

    这是对flexflex-direction属性的封装

    • row:将一个元素变成横向的flex容器
    • col:将一个元素变成纵向的flex容器
    // 主轴居中,交轴居中,将宽度变为100%,主轴居中对齐,交轴居中对齐.flex {  display: flex;  justify-content: center;  align-items: center;  width: 100%;}// 横向.row {  @extend .flex;  flex-direction: row;}// 纵向.col {  @extend .flex;  flex-direction: column;  height: 100%;}
示例代码结构(去除样式属性,保留结构属性,以下示例代码一样):```
row
row
row
col
col
col
```效果:![clipboard.png](/img/bVKslx)
  1. 内容对齐工具

    这是对justify-content的封装

    • content-start:子元素main start对齐
    • content-end:子元素相对main end对齐
    • content-between:子元素相对两端无间距对齐
    • content-around:子元素相对两端同间距对齐
    .content-start {  justify-content: flex-start;}.content-end {  justify-content: flex-end;}.content-between {  justify-content: space-between;}.content-around {  justify-content: space-around;}
示例代码结构```//横向对齐
row
row
row
row
row
row
row
row
row
row
row
row
//纵向对齐
row
row
row
row
row
row
row
row
row
row
row
row
```效果:横向对齐效果![clipboard.png](/img/bVKslS)纵向对齐效果![clipboard.png](/img/bVKsmm)
  1. 子元素相对交轴对齐工具

    这是对align-items的封装

    • cross-start:子元素相对交轴cross start 对齐
    • cross-end:子元素相对交轴cross end对齐
    • cross-stretch:子元素相对交轴拉伸对齐
代码```.cross-start {   align-items: flex-start; }.cross-end {  align-items: flex-end;}.cross-stretch {  align-items: stretch;}```示例代码```
cell-start
cell-start
cell-start
cell-end
cell-end
cell-end
cell-stretch
cell-stretch
cell-stretch
cell-start
cell-start
cell-start
cell-start
cell-end
cell-end
cell-end
cell-end
cell-stretch
cell-stretch
cell-stretch
cell-stretch
```效果![clipboard.png](/img/bVKspG)

0x003 子元素工具

  1. 比例工具

    这是对flex-grow的封装

    • cell-1:比例1
    • cell-2:比例2
    • cell-3:比例3
    • cell-4:比例4
    • cell-5:比例5
    • cell-full:垫片,使子元素宽度占据100%,主要用于col的子元素
    @for $i from 1 through 5 {  .cell-#{$i} {    flex-grow: $i;    text-align: center;  }}.cell-full{  width: 100%;}
示例代码```
cell-1
cell-1
cell-1
cell-1
cell-5
cell-1
cell-1
cell-2
cell-3
cell-1
cell-1
cell-1
cell-1
cell-2
cell-3
col
cell-1
```效果图

clipboard.png

2.子元素对齐工具

这是对`align-items`的封装- `cell-start`:- `cell-end`- `cell-stretch`代码:```.cell-start {   align-items: flex-start; }.cell-end {  align-items: flex-end;}.cell-stretch {  align-items: stretch;}```示例代码```
self-start
default
self-end
self-stretch
self-start
default
self-end
self-stretch
```效果

clipboard.png

3.滚动

这是对`overflow`的封装- `cell-scroll-x`- `cell-scroll-y`代码:```.cell-scroll-y {  height: 100%;  overflow-y: auto;}.cell-scroll-x {  width: 100%;  overflow-x: auto;  white-space: nowrap;}```示例代码```
横向滚动横向滚动横向滚动横向滚动横向滚动横向滚动横向滚动横向滚动横向滚动横向滚动横向滚动横向滚动横向滚动
1
2
...
13
14
```效果

clipboard.png

0x004 页面实战

  1. 登录页面

    示例代码(省略样式,只保留结构):

    效果:

    clipboard.png

  2. 个人中心

    示例代码(省略样式,只保留结构):

    十里桃花不如睡你

    我的收藏
    我的喜好
    我的文章
    关于

    效果:

clipboard.png

  1. 主页

    示例代码

    主页

    文章标题

    文章简介

    ....
    ....
    ....
    ....
    主页
    推荐
    我的

    效果:

clipboard.png

  1. 文章详情

    示例代码结构

    返回
    文章详情
    评论

    相忘于江湖

    十里桃花不如睡你

    2017-03-09

    ...

    效果

clipboard.png

0x005 源码

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

你可能感兴趣的文章
mysql优化:连接数
查看>>
PHP 时间操作 / 跳转问题
查看>>
Windows 2012 R2 FSMO角色相关小记录
查看>>
(小蚂蚁站长吧)网站优化做好这八步你就是seo第一
查看>>
使用流的方式往页面前台输出图片
查看>>
java核心技术反射
查看>>
LAMP,安装脚本
查看>>
Java异常总结
查看>>
DHCP
查看>>
电脑上怎样压缩图片大小
查看>>
新来的发一个帖子
查看>>
lnmp安装
查看>>
FTP工作方式
查看>>
Ubuntu16.04 ssh安及root登录
查看>>
C语言dos程序源代码分享(进制转换器)
查看>>
php项目中常用的log日志记录方法
查看>>
LogParser 导入MSSQL
查看>>
linux安装go环境并编写第一个go程序
查看>>
【在线研讨-现场文字】《敏捷开发用户故事分类与组织结构(二期-3)》2012-07-03...
查看>>
易语言 --什么情况下 用许可证
查看>>