flex 布局

what's the meaning of Flexbox? 答:很久之前关于布局大概存在两种:流式布局,定位和浮动来解决。浮动导致的拖标,我们需要通过清除浮动来解决问题。定位啥子绝父相;但现在有了更方便的方式来处理布局的问题有关弹性盒子的属性传送门MDN


速查知识点

语法篇参考阮老师flex 教学

一、栅格系统

前端代码如何实现呢?

  • grid_row定一个flex容器。
  • 每一个子item节点作为flex容器中的子元素

Code:

<!--
作者:jeverson@163.com
时间:2016-11-23
描述:栅格系统
-->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JJExample</title>
<style type="text/css">
.grid {
 border: solid 1px #e7e7e7;
}

.grid_row {
 /*定义一个flex容器,每一个子item节点作为flex容器中的子元素*/
 display: flex;
}

.grid_item {
 /*将所有项目等宽的分布在容器中*/
 flex: 1;
 padding: 12px;
 border: solid 1px #E7E7E7;
}
</style>
</head>
<body>
<div class="grid">
<div class="grid_row">
 <div class="grid_item">jj_1</div>
 <div class="grid_item">jj_2</div>
</div>
<div class="grid_row">
 <div class="grid_item">jj_1</div>
 <div class="grid_item">jj_2</div>
 <div class="grid_item">jj_3</div>
</div>
<div class="grid_row">
 <div class="grid_item">jj_1</div>
 <div class="grid_item">jj_2</div>
 <div class="grid_item">jj_3</div>
 <div class="grid_item">jj_4</div>
</div>
</div>
</body>
</html>

想折腾一个列布局,该怎么整呢?

  • so easy .grid-row样式中声明flex-direction:coloumn
  • 这边对屏幕尺寸收缩到尺寸时将执行flex-direction:row。
  • code:CSS样式的设计
/*样式的设计*/
   .grid {
    border: solid 1px #e7e7e7;
   }
   .grid_row {
    /*定义一个flex容器,每一个子item节点作为flex容器中的子元素*/
    display: flex;
    flex-direction: column;
   }
   .grid_item {
    /*将所有项目等宽的分布在容器中*/
    flex: 1;
    padding: 12px;
    border: solid 1px #E7E7E7;
   }
   @media only screen and (min-width: 480px) {
    .grid_row--sm {
     flex-direction: row;
    }
   }
   @media only screen and (min-width: 720px) {
    .grid_row--md {
     flex-direction: row;
    }
   }
   @media only screen and (min-width: 960px) {
    .grid_row--lg {
     flex-direction: row;
    }
   }
  • 任务:一个响应式栅栏布局CSS的代码就能实现,整点事看看嵌套栅栏如何

二、圣杯布局

圣杯布局在网页设计中非常著名,如果利用float,margin负值和最小宽度(min-width)来确保布局不冲突,以这种方式满足响应式布局的需求需要设计大量的运算,浮动清除等一些特殊手段,那么Flexbox布局就能缓解这个局面。
woshi


2016/11/23 先到这边吧。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于FlexBox布局,我的理解上,先确定以谁为主,谁未次,然后根据主次方向开始布局。 ReactNative中文...
    浪高达阅读 1,859评论 0 0
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,680评论 1 92
  • 前言 温馨提示:本文较长,图片较多,本来是想写一篇 CSS 布局方式的,但是奈何 CSS 布局方式种类太多并且实现...
    sunshine小小倩阅读 8,340评论 0 59
  • 1、flexDirection 决定布局的主轴(水平轴x) 默认值是竖直轴(column) 决定子元素是应该沿着水...
    Loki_阅读 1,488评论 0 0
  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 10,111评论 0 26