Flex布局的基本内容:

felx布局意为“弹性布局”,主要用于为盒状模型提供最大的灵活性。被广泛的应用于移动端,PC端的响应式布局。

首先:定义盒子为flex布局:

.box{
display:flex;
 // 行内元素也可使用flex布局
 // display:inline-flex;
}

设置为flex布局之后,子元素的 float clear, vertical-align 元素将会失效。

采Flex布局的元素,称为Flex容器,它的所有子元素为 容器的成员。 可以调节成员之间的关系,来达到灵活布局的目的。

容器的基本属性:

主要有以下6个属性设置在容器上:

1 flex-direction : 决定主轴的方向,即项目的方向 主要属性值有 row (水平,起点在左端),row-reverse (水平,起点在右端)

2 flex-wrap : 默认情况下 项目在一条线上,如果一条轴线排不下,如何换行。 wrap (换行 ,第一行在上方) nowrap (不换行) wrap-reverse (换行,第一行在下方)。

3 flex-flow : 该属性是flex-direction 和 flex-wrap属性的简写形式。 默认情况下为 row nowrap。

4 justify-content:    该属性定义了项目在主轴上的排列方式。 主要的属性值有 flex-start  flex-end center space-between(两端对齐,项目之间的间隔都相等) space-around(每个项目两侧的间隔相等,因此,项目之间的间隔比项目与边框的间隔大一倍) 等 

5 align-items: 该属性定义了 项目在纵轴上的排列方式。 主要属性有flex-start  flex-end center  baseline(项目的第一行的文字对齐) stretch  (默认值,如果项目未设置高度或者设置为auto 将占满整个容器的高度)。

6 align-content:  该项目定义了多根轴线的对齐方式 注意:如果只有一根轴线则不起作用。

该属性 主要有6个值 flex-start flex-end center space-between sapce-around stretch

(轴线占满整个交叉轴。) 其余属性同上。

项目的基本属性:

1 order :定义项目的排列顺序 该值是一个整数值,数值越小,排列越靠前。 默认为0。

2 flex-grow : 该属性定义项目的放大比例,默认为0  (如果存在剩余空间 也不放大) 

如果所有项目的flex-grow属性都为1 则他们将等分所有的剩余空间。 如果有一个项目的flex-grow属性值为2 其他的为1 则前者占据的剩余空间将比其他项目多一倍。

eg:

3 flex-shrink :该属性定义了项目的缩小比例,默认为1 即如果空间不足,该项目将缩小。

eg: 如果所有项目的flex-shrink属性都为1 ,当空间不足时,都将等比例缩小,如果一个项目的flex-shrink属性为0  其他为1时,当空间不足时,前者不缩小。

注意:负值对该属性无效。

4 flex-basis: 该属性重要:该属性可以在分配多余的空间之前,定义项目占据的主轴空间,默认值为auto 。

该属性可以设置跟width 和 height 一样的值 eg: 250px; 则项目将占据固定的空间。

5 flex :该属性是 flex-grow ,flex-shrink flex-basis 的简写。默认为 0 1 auto 。后两个属性值可选。 有两个快捷值: auto ( 1 , 1 , auto) ;和 none (0 ,0,auto);

6 align-self : 该属性重要:

该属性允许单个项目有与其他项目不一样的对齐方式,可覆盖 align-items 属性。默认值 为 auto (表示继承父元素的align-items属性) 。若没有父元素,等同于 stretch。

同样具有6个属性,包括 auto 其余与align-items 属性完全一致。

.item{
align-self: auto | flex-start | flex-end | center | baseline | stretch.
}

解读Flex布局及其基本使用的更多相关文章

  1. Flex 布局教程:语法篇

    作者: 阮一峰 网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便 ...

  2. Flex 布局教程:实例篇

    该教程整理自 阮一峰Flexible教程 今天介绍常见布局的Flex写法.你会看到,不管是什么布局,Flex往往都可以几行命令搞定. 我的主要参考资料是Landon Schropp的文章和Solved ...

  3. 在移动端中的flex布局

    flex布局介绍: flex布局很灵活, 这种布局我们也可以称之为弹性布局,  弹性布局的主要优势就是元素的宽或者高会自动补全; flex布局实例: 比如有两个div,一个div的宽度为100px, ...

  4. css flex布局

    关于flex布局的一些简单用法 效果(下图) 实现代码: <!--html--> <div class="wrap"> <div class=&quo ...

  5. FLEX布局的一些问题和解决方法

    前言 露珠最近研究了一下flex的布局方式,发现项w3c推出的这套布局解决方案对于日益复杂的前端开发布局来说是确实是一利器,并且在不同的屏幕上实现了真正的响应式布局:不再单纯地依赖百分比和float的 ...

  6. CSS之flex布局

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  7. flex布局示例

    来自:授权地址 作者:水牛01248 几个横排元素在竖直方向上居中 display: flex; flex-direction: row;//横向排列 align-items: center;//垂直 ...

  8. 【转】Flex 布局语法教程

    网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...

  9. [flex布局]-flex教程

    简介:2009年,W3C提出了一种新的方案----Flex布局,可以简便.完整.响应式地实现各种页面布局.目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能. Flex布局是什 ...

随机推荐

  1. SpringBoot开发一

    项目介绍 牛客高级项目课,主要是完成牛客网的讨论社区的搭建.项目在github上. 涉及到的技术架构: Spring,SpringBoot,SpringMVC,MyBatis,Redis,Kafka( ...

  2. 一篇文章搞懂密码学基础及SSL/TLS协议

    SSL协议是现代网络通信中重要的一环,它提供了传输层上的数据安全.为了方便大家的理解,本文将先从加密学的基础知识入手,然后展开对SSL协议原理.流程以及一些重要的特性的详解,最后会扩展介绍一下国密SS ...

  3. Linux 多进程编程实例(一)

    文章目录 目标: main.c process1.c process2.c 目标: 一个进程,创建两个子进程,利用exec函数族使两个子进程执行不同的程序.子进程1执行ls -l命令后正常返回,子进程 ...

  4. chcon命令详解

    导读 chcon命令是修改对象(文件)的安全上下文,比如:用户.角色.类型.安全级别.也就是将每个文件的安全环境变更至指定环境.使用--reference选项时,把指定文件的安全环境设置为与参考文件相 ...

  5. 获取sim 卡的IMEI 和 IMSI

    IReadOnlyList<string> networkAccIds = Windows.Networking.NetworkOperators.MobileBroadbandAccou ...

  6. 【转】Linux命令:ps -ef |grep java

    转自:https://www.cnblogs.com/feizifeiyu/p/8492550.html 一.ps -ef |grep java 查看包含"java"的所有进程 二 ...

  7. PsSetCreateProcessNotifyRoutineEx 创建回调函数

    转载自http://blog.csdn.net/yushiqiang1688/article/details/5209597 最近要做一个进程监控的程序,功能很简单,就是创建和退出进程的时候,能触发我 ...

  8. Javascript - Vue - 动画

    动画状态类名 vue动画通过将需要执行动画的标签放入transition标签中,再通过设置预置的vue动画类名的css样式来控制动画的呈现效果. 开场动画状态的三个类名 v-enter:动画开始之前的 ...

  9. mybaits源码分析--类型转换模块(三)

    一.类型转换模块 String sql = "SELECT id,user_name,real_name,password,age,d_id from t_user where id = ? ...

  10. docker开启remote-api 2375端口后,Failed to start Docker Application Container Engine,重启docker失败的问题解决

    1.  按照网上的教程修改了 /usr/lib/systemd/system/docerk.service配置后,重启失败.修改/etc/docker/daemon.json 增加hosts后重启也是 ...