文档章节

css3 -webkit-flex 布局

告别只是另一种体验
 告别只是另一种体验
发布于 2016/04/24 22:56
字数 1490
阅读 54
收藏 1
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Web的Flex弹性盒模型</title>
<style>
 body{
  font-family: '微软雅黑';
  /*font-family: cursive, '微软雅黑';*/
  padding: 0;
  margin: 20px 0 40px;
  font-size: 16px;
  background-color: #F9F9F9;
 }
 h1{
  color: #0BF;
  text-indent: 15px;
 }
 h3{
  color: #6D7273;
  text-indent: 15px;
  padding: 10px 0;
  background-color: #fff;
 }
 p{
  margin: 0;
  padding: 0;
  color: #666;
  margin-bottom: 5px;
 }
 .boxes{
  padding: 0 10px;
  overflow: hidden;
  display: -webkit-flex;
  flex-wrap: wrap;
  align-content:flex-start
 }
 .box{
  width: 400px;
  padding: 8px;
  margin-right: 20px;
  margin-bottom: 10px;
  display: inline-block;
  box-shadow: 2px 2px 3px 1px #E0E0E0;
 }
 .boxstyle{
  padding: 8px 0;
 }
 .boxborder{
  border: 1px dashed #B6B6B6;
 }
 .demo{
  color: #fff;
  display: -webkit-flex;
  text-align: center;
 }
 .demo .item{
  line-height: 40px;
  background-color: #ddd;
 }
 .demo .item:nth-child(1){
  background-color: #E46C49;
 }
 .demo .item:nth-child(2){
  background-color: #37B0D3;
 }
 .demo .item:nth-child(3){
  background-color: #68B33D;
 }
 .demo .item:nth-child(4){
  background-color: #E46775;
 }
 .demo .item:nth-child(5){
  background-color: #CFC731;
 }
 .demo .item:nth-child(6){
  background-color: #8370F4;
 }
 .demo .item span{
  display: block;
 }
 .demo2 .item{
  height: 60px;
  width: 150px;
  word-wrap: break-word;
  line-height: 1.5;
 }
 .demo-row{
  flex-direction: row;
 }
 .demo-row-reverse{
  flex-direction: row-reverse;
 }
 .demo-column{
  height: 200px;
  flex-direction: column;
 }
 .demo-column-reverse{
  height: 200px;
  flex-direction: column-reverse;
 }
 .demo-nowrap{
  -webkit-flex-wrap: nowrap;
  width: 400px;
 }
 .demo-wrap{
  -webkit-flex-wrap: wrap;
  width: 400px;
 }
 .demo-wrap-reverse{
  -webkit-flex-wrap: wrap-reverse;
  width: 400px;
 }
 .demo-align-content{
  width: 400px;
  flex-wrap: wrap;
  height:200px;
  border: 1px dashed #B6B6B6;
 }
 .demo-align-content .item:nth-child(1), .demo-align-content .item:nth-child(2), .demo-align-content .item:nth-child(3),
 .demo-align-content .item:nth-child(4), .demo-align-content .item:nth-child(5), .demo-align-content .item:nth-child(6){
  background-color: #717171;
  width: 80px;
  margin: 2px 10px;
 }
</style>
</head>
<body>
 <h1>Web的Flex弹性盒模型</h1>
 <section>
  <h3>[ flex ]</h3>
  <div>
   <div>
    <div>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo1">
     <div style="width:100px">width:100px;</div>
     <div style="flex:2">flex: 2;</div>
     <div style="flex:1">flex: 1;</div>
    </div>
   </div>
   <div>
    <div>
     <p>display: -webkit-flex; </p>
    </div>
    <div class="demo demo2 boxborder">
     <div style="margin-right:10px;">
      <span>width:150px;</span> <span>margin-right:10px;</span></div>
     <div style="flex:1">flex: 1;</div>
     <div style="margin-left:10px;">
      <span>width:150px;</span> <span>margin-left:10px;</span></div>
    </div>
   </div>
  </div>
  <h3>[ flex-direction ]</h3>
  <div style="width:900px">
   <div>
    <div>
     <p>flex-direction: row; /*default*/</p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo-row">
     <div style="flex:1">flex: 1;</div>
     <div style="flex:2">flex: 2;</div>
     <div style="flex:3">flex: 3;</div>
    </div>
   </div>
   <div>
    <div>
     <p>flex-direction: row-reverse;</p>
     <p>display: -webkit-flex; </p>
    </div>
    <div class="demo demo-row-reverse">
     <div style="flex:1">flex: 1;</div>
     <div style="flex:2">flex: 2;</div>
     <div style="flex:3">flex: 3;</div>
    </div>
   </div>
   <div>
    <div>
     <p>flex-direction: column;</p>
     <p>display: -webkit-flex; </p>
    </div>
    <div class="demo demo-column">
     <div style="flex:1">flex: 1;</div>
     <div style="flex:2">flex: 2;</div>
     <div style="flex:3">flex: 3;</div>
    </div>
   </div>
   <div>
    <div>
     <p>flex-direction: column-reverse;</p>
     <p>display: -webkit-flex; </p>
    </div>
    <div class="demo demo-column-reverse">
     <div style="flex:1">flex: 1;</div>
     <div style="flex:2">flex: 2;</div>
     <div style="flex:3">flex: 3;</div>
    </div>
   </div>
  </div>
  <h3>[ flex-wrap ]</h3>
  <div style="width:1310px">
   <div>
    <div>
     <p>-webkit-flex-wrap: nowrap; /* default */</p>
     <p>display: -webkit-flex; </p>
     <p>width: 400px</p>
    </div>
    <div class="demo demo-nowrap">
     <div style="width: 100px">100px;</div>
     <div style="width: 200px">width: 200px;</div>
     <div style="width: 300px">width: 300px;</div>
    </div>
   </div>
   <div>
    <div>
     <p>-webkit-flex-wrap: wrap</p>
     <p>display: -webkit-flex; </p>
     <p>width: 400px</p>
    </div>
    <div class="demo demo-wrap boxborder">
     <div style="width: 100px">100px;</div>
     <div style="width: 200px">width: 200px;</div>
     <div style="width: 300px">width: 300px;</div>
    </div>
   </div>
   <div>
    <div>
     <p>-webkit-flex-wrap: wrap-reverse</p>
     <p>display: -webkit-flex; </p>
     <p>width: 400px</p>
    </div>
    <div class="demo demo-wrap-reverse boxborder">
     <div style="width: 100px">100px;</div>
     <div style="width: 200px">width: 200px;</div>
     <div style="width: 300px">width: 300px;</div>
    </div>
   </div> 
  </div>
  <h3>[ flex-flow ]: flex-direction flex-wrap; /* 自个体会吧 */</h3>
  <h3>[ justify-content ]</h3>
  <div style="width:1310px;">
   <div>
    <div>
     <p>/* 效果如同 float:left; */</p>
     <p>justify-content: flex-start; /* default */</p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo boxborder" style="justify-content: flex-start;">
     <div style="width:100px">width:100px;</div>
     <div style="width:100px">width:100px;</div>
    </div>
   </div>
   <div>
    <div>
     <p><p>/* 效果如同 float:right; */</p></p>
     <p>justify-content: flex-end;</p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo-justify boxborder"  style="justify-content: flex-end;">
     <div style="width:100px">width:100px;</div>
     <div style="width:100px">width:100px;</div>
    </div>
   </div>
   <div>
    <div>
     <p>/* 第三代水平居中方案 */</p>
     <p>justify-content: center;</p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo-justify-end boxborder" style="justify-content: center;">
     <div style="width:100px">width:100px;</div>
     <div style="width:100px">width:100px;</div>
    </div>
   </div>
   <div>
    <div>
     <p>justify-content: space-between; </p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo-justify boxborder" style="justify-content: space-between;">
     <div style="width:100px">width:100px;</div>
     <div style="width:100px">width:100px;</div>
    </div>
   </div>
   <div>
    <div>
     <p>justify-content: space-around; </p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo-justify-end boxborder" style="justify-content: space-around;">
     <div style="width:100px">width:100px;</div>
     <div style="width:100px">width:100px;</div>
    </div>
   </div>
  </div>
  <h3>[ align-self ]</h3>
  <div>
   <div style="width:1000px;">
    <div>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo boxborder" style="width: 1000px; height:200px;">
     <div style="width:200px; align-self:flex-start;">align-self:flex-start;</div>
     <div style="width:200px; align-self:flex-end;">align-self:flex-end;</div>
     <div style="width:200px; align-self:center;">align-self:center;</div>
     <div style="width:200px; align-self:auto;">
      <span>align-self:auto;</span>
      <span>/*default */</span>
     </div>
     <div style="width:200px; align-self:baseline;">align-self:baseline;</div>
     <div style="width:200px; align-self:stretch;">align-self:stretch;</div>
    </div>
   </div>
  </div>
  <h3>[ align-items ]</h3>
  <div>
   <div>
    <div>
     <p>align-items: flex-start; /* default */</p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo boxborder" style="align-items: flex-start;height:200px;">
     <div style="width:100px">width:100px;</div>
     <div style="width:100px">width:100px;</div>
    </div>
   </div>
   <div>
    <div>
     <p>align-items: flex-end; </p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo boxborder" style="align-items: flex-end;height:200px;">
     <div style="width:100px">width:100px;</div>
     <div style="width:100px">width:100px;</div>
    </div>
   </div>
   <div>
    <div>
     <p>/* 第三代垂直居中 */</p>
     <p>align-items: center; </p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo boxborder" style="align-items: center;height:200px;">
     <div style="width:100px">width:100px;</div>
     <div style="width:100px">width:100px;</div>
    </div>
   </div>
   <div>
    <div>
     <p>align-items: baseline; </p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo boxborder" style="align-items: baseline;height:200px;">
     <div style="width:100px">width:100px;</div>
     <div style="width:100px">width:100px;</div>
    </div>
   </div>
   <div>
    <div>
     <p>align-items: stretch; </p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo boxborder" style="align-items: stretch;height:200px;">
     <div style="width:100px; height:100px;">height:100px;</div>
     <div style="width:150px; min-height:20px;">min-height:20px;</div>
     <div style="width:150px; max-height:60px;">max-height:60px;</div>
    </div>
   </div>
  </div>

  <h3>[ align-content ]</h3>
  <div>
   <div>
    <div>
     <p>/* <span style="color:red"> 对比 align-items</span>*/</p>
     <p>align-items: flex-start</p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo-align-content" style="align-items: flex-start">
     <div >a</div>
     <div >b</div>
     <div >c</div>
     <div >d</div>
     <div >e</div>
     <div >f</div>
    </div>
   </div>
   <div>
    <div>
     <p>align-content: flex-start; </p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo-align-content" style="align-content: flex-start;">
     <div >a</div>
     <div >b</div>
     <div >c</div>
     <div >d</div>
     <div >e</div>
     <div >f</div>
    </div>
   </div>
   <div>
    <div>
     <p>align-content: flex-end; </p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo-align-content" style="align-content: flex-end;">
     <div >a</div>
     <div >b</div>
     <div >c</div>
     <div >d</div>
     <div >e</div>
     <div >f</div>
    </div>
   </div>
   <div>
    <div>
     <p>align-content: center; </p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo-align-content" style="align-content: center;">
     <div >a</div>
     <div >b</div>
     <div >c</div>
     <div >d</div>
     <div >e</div>
     <div >f</div>
    </div>
   </div>
   <div>
    <div>
     <p>align-content: space-between; </p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo-align-content" style="align-content: space-between;">
     <div >a</div>
     <div >b</div>
     <div >c</div>
     <div >d</div>
     <div >e</div>
     <div >f</div>
    </div>
   </div>
   <div>
    <div>
     <p>align-content: space-around; </p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo-align-content" style="align-content: space-around;">
     <div >a</div>
     <div >b</div>
     <div >c</div>
     <div >d</div>
     <div >e</div>
     <div >f</div>
    </div>
   </div>  
   <div>
    <div>
     <p>align-content: stretch; /*default*/ </p>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo-align-content" style="align-content: stretch;">
     <div >a</div>
     <div >b</div>
     <div >c</div>
     <div >d</div>
     <div >e</div>
     <div >f</div>
    </div>
   </div> 
 
  </div> 
  <h3>[ order ]</h3>
  <div>
   <div style="width:1000px;">
    <div>
     <p>display: -webkit-flex;</p>
    </div>
    <div class="demo demo-align-content" style="width: 1000px;height:40px;">
     <div >a</div>
     <div >b</div>
     <div >c</div>
     <div style="order:-1; width:120px"> d (order:-1) </div>
     <div >e</div>
     <div >f</div>
    </div>
   </div>
  </div>
 </section>
 
</body>
</html>

© 著作权归作者所有

告别只是另一种体验
粉丝 5
博文 31
码字总数 28739
作品 0
浦东
前端工程师
私信 提问
Flex弹性布局在移动设备上的应用

本文内容为整理摘录。 引文 首先,我们有表格布局。当不考虑语义并且利用一些适当的嵌套和其他技巧,我们可以用table建立具有一定功能的布局。 然后是现在大多数人都在使用的浮动布局。我们可以...

yinyongcom666
2013/08/07
8.7K
4
CSS3.0盒模型display: box;详解

box-flex是css3新添加的盒子模型属性,它的出现可以解决我们通过N多结构、css实现的布局方式。经典的一个布局应用就是布局的垂直等高、水平均分、按比例划分。 目前box-flex属性还没有得到f...

黯灭
2013/12/09
1K
0
css3文字水平垂直居中对齐的几种方法

1.使用绝对定位: .div{ position:absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } 2.flex布局: .parent{ Justify-content:center; // 子元素水平居中 align-items:ce......

xiaonian12
2018/09/12
32
0
CSS3 Flex布局(伸缩布局盒模型)学习

https://www.cnblogs.com/sxz2008/p/6635196.html 实例:http://www.ruanyifeng.com/blog/2015/07/flex-examples.html CSS2定义了四种布局:块布局、行内布局、表格布局盒定位布局。 CSS3引入...

壹峰
2018/08/08
57
0
flex和box、flexbox高度自适应常见坑

display:box; 是老语法,display:flex;是新语法。flexbox是只有ie10才有的语法,ie11可以用flex。 box支持的浏览器更多,flex旧版本浏览器不支持。 综合写法 仅仅只有5条,注意:没有box也没...

linsk1998
2018/05/16
154
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
7
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
昨天
7
0
Flutter系列之在 macOS 上安装和配置 Flutter 开发环境

本文为Flutter开发环境在macOS下安装全过程: 一、系统配置要求 想要安装并运行 Flutter,你的开发环境需要最低满足以下要求: 操作系统:macOS(64位) 磁盘空间:700 MB(不包含 IDE 或其余...

過愙
昨天
6
0
OSChina 周六乱弹 —— 早上儿子问我他是怎么来的

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @凉小生 :#今日歌曲推荐# 少点戾气,愿你和这个世界温柔以待。中岛美嘉的单曲《僕が死のうと思ったのは (曾经我也想过一了百了)》 《僕が死の...

小小编辑
昨天
2.7K
16
Excption与Error包结构,OOM 你遇到过哪些情况,SOF 你遇到过哪些情况

Throwable 是 Java 中所有错误与异常的超类,Throwable 包含两个子类,Error 与 Exception 。用于指示发生了异常情况。 Java 抛出的 Throwable 可以分成三种类型。 被检查异常(checked Exc...

Garphy
昨天
42
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部