一,弹性布局

弹性布局,又称“Flex布局”,是W3C在2009年提出的方案。
主要解决某个元素中内部子元素的布局方式,为布局提供的非常大的灵活性和操控性。

任何一个容器都可以指定为flex布局,包括行内布局。如果是webkit内核,必须加-webkit- 前缀

二,基础概念

容器: 需要添加弹性布局的父元素;
当一个元素设置了display:flex
这个元素内部的子元素就按照弹性布局方式排列
这个元素叫做容器
注:设置了display:flex的元素本身不是弹性布局,它的子元素是弹性布局
项目: 弹性布局容器中的每一个子元素,称为项目;
当一个元素设置了display:flex
这个元素内部的子元素就按照弹性布局方式排列
这些子元素,叫做弹性项目

 案例:(运行时记得删除汉字注释)
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style>*{margin: 0;padding: 0;}#fu{width: 800px;   注:这个div块只设置了宽度border: 1px solid red;   display: flex;   注;只能写在父元素justify-content: space-between;   注:定义项目在主轴上的对齐方式--两端对齐}#z1{width: 200px;height: 200px;background-color: #DCDCDC;}#z2{width: 200px;height: 200px;background-color: #0062A9;}#z3{width: 200px;height: 200px;background-color: pink;}</style></head><body><div id="fu">   父元素<div id="z1"></div>  子元素<div id="z2"></div> 子元素<div id="z3"></div> 子元素</div></body>
</html>

效果:

三,语法

display:
flex 经常用于让块级元素变为弹性容器
inline-flex; 经常用于让行内元素变为弹性容器

 display: flex;

特点:
1.当元素变为弹性容器之后,这个元素的text-align失效,内部项目不会执行水平对齐
2.弹性项目,可以设置宽高
3.项目的浮动,clear:both都失效
总结:之前所有学习过的对齐方式,对于弹性项目都失效
弹性项目的对齐,取决于主轴、交叉轴

四,弹性布局基本方向(主轴和交叉轴)

主轴: 在弹性布局中,我们会通过属性规定水平/垂直方向为主轴;
控制项目们的排列方向的一根轴
主轴的方向,
被称为主轴的起点和终点
交叉轴: 与主轴垂直的另一方向,称为交叉轴。
永远与主轴垂直相交的一根轴
图解(红色箭头为主轴,蓝色箭头为交叉轴)

1.主轴方向(4根主轴)
flex-direction:
row; 默认值,主轴为x轴,主轴起点在左侧
row-reverse 主轴为x,主轴起点在右侧
column 主轴为y轴,主轴起点在顶部
column-reverse 主轴为y轴,主轴起点在底部

flex-direction: row;

 案例:
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style>*{margin: 0;padding: 0;}#fu{width: 800px;border: 1px solid red;display: flex;flex-direction: row-reverse;  主轴为x,主轴起点在右侧}#z1{width: 200px;height: 200px;background-color: #DCDCDC;}#z2{width: 200px;height: 200px;background-color: #0062A9;}#z3{width: 200px;height: 200px;background-color: pink;}</style></head><body><div id="fu"><div id="z1"></div><div id="z2"></div><div id="z3"></div></div></body>
</html>

交叉轴
图片来源网络侵权必删(非盈利)


交叉轴上对齐方式 (和主轴用法类似)
align-items:
flex-start 默认值。在交叉轴起点对齐
center 交叉轴中间对齐
flex-end 交叉轴终点对齐
baseline 每个项目中的文本,基线要对齐
stretch 项目在交叉轴方向上没有定义尺寸,项目将充满交叉轴

HTML弹性布局基础讲解(一)相关推荐

  1. 前端弹性布局flex讲解

    1 基本概念 css3最喜欢的新属性之一便是flex布局属性,用六个字概括便是简单.方便.快速. Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大 ...

  2. html,css基础(2)~浮动布局,弹性布局,css2D,3D转换,css动画,长度单位

    目录 1,浮动布局 2,弹性布局 3,CSS 2D 转换 4,CSS 3D 转换 5,css动画 6,长度单位 7,元素,文本阴影 8,表单元素 9,响应式布局 1,浮动布局 float,设置元素使用 ...

  3. 移动端基础(2)—— flex弹性布局

    一.flex弹性布局 flexible-box-layout 弹性盒式模型,它能更加高效的控制元素的对齐.排列,更重要的是能够自动计算布局内元素的尺寸,无论这个元素的尺寸是固定的还是动态的. 父元素( ...

  4. css基础--弹性布局

    一.什么是弹性布局 Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性. 任何一个容器都可以指定为Flex布局. 二.基本概念 采用Flex ...

  5. HTML5基础知识,3D动画效果实现,定位,弹性布局以及CSS样式的设定,响应式,移动端

    前端 HTML 超文本标记语言(超越文本) 网页 <html> 主体 <body> 头部 <head> 网页标题 <title> 段落 <p> ...

  6. 前端基础-CSS弹性布局

    三.弹性布局 1.多栏布局 概念:实现多个栏目的布局,类似于报纸 示意图 a) 分栏显示–语法:column-count:值 取值:值是一个栏目的数量 <style type="tex ...

  7. flex弹性布局教程-09-容器属性flex-flow

    本节目标 掌握flex-flow的使用,flex-flow是flex-direction和flex-wrap的合集. 掌握上左右下的布局编写技巧. 内容摘要 本篇介绍了容器属性 flex-flow,是 ...

  8. html弹性重叠,关于html5弹性布局(2)

    在前面的一篇文章中,我很简单介绍了弹性布局的概念,这里我将介绍弹性布局的实例化.理解弹性布局,并不是那么简单,因为弹性布局的基础和思想,和我们传统的盒装模式不同,所以必须要深入接受这种弹性布局的思路. ...

  9. 01移动端布局基础之流式布局

    技术交流QQ群:1027579432,欢迎你的加入! 1.移动端基础 浏览器现状 PC端常见浏览器:360浏览器.谷歌浏览器.火狐浏览器.QQ浏览器.百度浏览器.搜狗浏览器.IE浏览器等. 移动端常见 ...

最新文章

  1. MLNG_机器学习的动机与应用
  2. Git的配置SSHKey
  3. 区块链跨链领域新突破!
  4. .NET Core 小程序开发零基础系列(2)——小程序服务通知(模板消息)
  5. java 可能尚未初始化变量,java - 局部变量“变量”可能尚未初始化-Java - 堆栈内存溢出...
  6. 第一百零九期:双十一光棍节调试一个商城必备功能,Java Springboot开源秒杀系统
  7. 如何学习IOS开发~三个字(学思做)
  8. 在手机上实现实时的单眼3D重建
  9. 关于DOS和命令行的故事
  10. 自己推荐的经典好书展示(计算机、企业管理学、生存)
  11. Length和lengthb的区别
  12. iis运行html提示500错误,IIS发布网站出现Http—500错误
  13. android rom打包解包工具,Android刷机包解包打包
  14. 从前慢-SpringCloud
  15. 关于MAC下的SSH工具的推荐及SSH如何连接本地的小教程
  16. 2018,我在保险公司当卧底--本文长期更新
  17. 山野户外定位依赖GPS或者卫星电话就能完成么?
  18. ubuntu 网卡总结
  19. echarts全国地图只显示南海诸岛问题解决
  20. android 抢夺焦点,android焦点

热门文章

  1. 禁忌搜索(TS——Tabu Search)与邻域搜索基础知识
  2. 软件测试常见的接口协议,软件测试之接口常见的接口类型
  3. java计算机毕业设计民宿客栈管理系统源程序+mysql+系统+lw文档+远程调试
  4. 自己动手写CPU之第七阶段(10)——除法指令实现过程1
  5. STM32常用的开发工具有哪些
  6. HTML 实现一个简单而精美的登录界面
  7. qt5移植mqtt库
  8. java如何输入2的31次方_续一: 如何优化Java程序:十进制转十六进制(2的31次方以内的正整数)...
  9. matlab习题 —— 数据的基本处理
  10. 为什么房地产开发商成为智慧社区普及的有力推手?