本文直接介绍一些属性,需要注意什么等等类似的不在介绍,知识点导航

父元素属性

  • flex-direction:项目的排列方向
    flex-wrap:若果一条轴线排不下,如何换行
    flex-flow
    justify-content
    align-items
    align-content

子元素属性

  • order
    flex-grow
    flex-shrink
    flex-basic
    flex

使用之前需在父元素设置“display:flex”

话不多说,直接上代码,基础代码在最下面,会在原有的基础上添加

 .parent{display:flex;}

-设置父元素 display: flex; 这会使每个子元素自动变为伸缩项; 所谓伸缩项,就是说当父元素的宽度不足以容纳所有子元素时,会将子元素进行等比例收缩直到父容器足以一行放下所有子元素;

注意,设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效

作为父容器的六大属性


1,flex-direction决定主轴的方向(即项目的排列方向)

  • row(默认值):主轴为水平方向,起点在左端
  • row-reverse:主轴为水平方向,起点在右端
  • column:主轴为垂直方向,起点在上沿
  • column-reverse:主轴为垂直方向,起点在下沿

实例:其中只实验了一个属性,对应的图片分别为下图,关于父元素的元素全部都是在 . parent的基础上进行设置

 display: flex;flex-direction: row-reverse;

2,flex-wrap:若果一条轴线排不下,如何换行

  • nowrap(默认):不换行,当容器宽度不够时,每个子元素会被挤压宽度
  • rwrap:换行,并且第一行在容器最上方
  • wrap-reverse:换行,并且排在第一行容器最下面
 width:150px;//原来的宽度太大display: flex;flex-direction: row-reverse;

3,flex-flow:是flex-direction和,flex-wrap的缩写。默认值为:flex-flow:row wrap;一般不需要使用

4,justify-content:定义了项目在主轴上的对齐方向

> > 此属性与主轴方向息息相关。
    主轴方向为:row - 起点在左边,row-reverse -起点在右边,column - 起点在上边,column-reverse -起点在下边

  • flex - start(默认值):项目位于主轴起点。
  • flex-end:主轴位于主轴终点。
  • center:居中(常用);
  • space-between:两端对齐,项目之间的距离都相等(开头和最后的子元素,与父容器边缘之间么有间隔)
  • space-around:每个项目的间隔相同,切两端间隙是项目间距的一半(开头和最后的项目,与父容器边缘有一定距离)

5,align-items:定义项目在交叉轴如何对齐

  • flex-start:交叉轴的起点对齐。
  • flex-end:交叉轴的终点对齐。
  • center:交叉轴的中点对齐。
  • baseline:项目第一行文字基线对齐(文字的行高,字体大小会影响每行的基线)

这里以baseline为例;但图片还是按取值排列,所以对应的图片是最后一个

 font-size:40px//改变第一个子元素的文字大小
 <-- 父元素设置 -->display: flex;align-items:baseline;

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

>>当项目换为多行时,可使用align-content取代align-items

  • flex - start:与交叉轴起点对齐。
  • flex-end:与交叉轴终点对齐。
  • center:与交叉轴中点对齐。
  • space-between:两端对齐
  • spance-around:每根轴线距离相等
 display: flex;align-content:flex - start

关于父元素的属性就介绍到这里。还有一个小的知识点,是我在视频上看见的
  .parent{float:flex}.child{margin:auto}

这个的效果是上下居中,左右分散对齐的效果,感觉就像 justify-content:space-aroundalign-items:center的结合体。 很常用

作为子元素的属性


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

 .child_1{order:2}.child_1{order:1}

2,flex-grow:定义放大比例。默认0。即如果存在剩余空间,也不放大

>>这个可以说是个比例吧,当只有一个子元素设置时,即放大倍数,不过最好几个一起设置

 .child_1{flex-grow:1}.child_2{flex-grow:1}.child_3{flex-grow:2}.child_4{flex-grow:2}

如图所示,子元素1,2,3,4都设置的这个属性,效果是在父元素宽度上进行分配。子元素3,4和子元素1,2的比例是1:2

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

>>这个吧,即在父元素缩小的时候,让这个子元素不缩小,取值试了一下,好像是0-1,如果取值为0.5的话,即子元素最小缩小50%,为0则不能缩小,当然了,如果设置的总宽度超过了父元素,则会在父元素之外显示

.child{flex-shrink:0}

4,flex-basic:项目占据的主轴空间(如过主轴为水平,则设置这个属性,相当于设置宽度,原有width失效)

.child_1{flex-basis: 200px;}

5,flex:此属性是flex-grow,flex-shrink和flex-basic的简写,默认值 0 1 auto,后两个属性可选

基础代码如下

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1"><title>弹性布局</title><style type="text/css">* {font-size: 30px;}.parent {width: 500px;height: 500px;border: 1px solid red;}.child_1 {width: 50px;height: 50px;background: pink;}.child_2 {width: 50px;height: 60px;background: blue;}.child_3 {width: 50px;height: 70px;background: gray;}.child_4 {width: 50px;height: 80px;background: red;}.child_5 {width: 50px;height: 90px;background: yellow;}</style></head><body><div class="parent"><div class="child child_1">1</div><div class="child child_2">2</div><div class="child child_3">3</div><div class="child child_4">4</div><div class="child child_5">5</div></div></body>
</html>

结果如下

html基础之弹性布局(dispaly :flex)相关推荐

  1. Css 弹性布局(Flex)详细介绍(Flex 属性详解、场景分析)

    目录​​​​​​​ 前言 Flex 布局是什么? Flex 简介 Flex 容器属性 Flex 基本使用 场景一 flex-direction 场景二 justify-content align-it ...

  2. CSS 弹性布局(flex)的height计算

    疑惑现象: 弹性布局父元素的height=所有子元素的元素高度,而子元素又能继承父元素高度(height:100%). 可能过程: 先使用子元素总高度撑起父元素高度,子元素再继承父元素高度. 测试代码 ...

  3. 弹性布局(Flex)布局介绍

    Flex是Flexible Box的缩写,意为"弹性布局".任何一个容器都可以指定为Flex布局,块级元素为display:block,行内元素为display:inline-fl ...

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

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

  5. CSS - 弹性布局(flex)

    目录 传统布局的不足之处:导航栏实现案例说明问题 关于单个.一行多个浮动元素的水平居中实现 弹性布局 弹性容器的主轴和侧轴概念 弹性容器的主轴对齐&侧轴对齐(一维布局特性说明) 主轴flexi ...

  6. 移动端常见布局方式(流式布局、flex弹性布局、less+rem+媒体查询、Bootstrap)

    目录 一:移动端页面 1.流式布局(百分比布局) 2.flex弹性布局(重点♥) flex布局初体验: flex布局原理: flex布局父项常见属性 flex-direction 设置主轴的方向 ♥ ...

  7. 弹性布局flex 伸缩布局 flex布局 什么是弹性布局 justify-content

    弹性布局(flex布局.伸缩布局) 一.什么是弹性布局 flex 是 flexible Box 的缩写,意为"弹性布局",用来为盒模型提供最大的灵活性,任何一个容器都可以指定为fl ...

  8. display:flex 意思是弹性布局

    转载: http://www.cnblogs.com/manman04/p/5704660.html display:flex 意思是弹性布局 首先flex的出现是为了解决哪些问题呢? 一.页面行排列 ...

  9. 前端~css~Chrome调试工具、元素显示模式、盒模型、flex弹性布局

    文章目录 Chrome调试工具 块级元素 行内元素 盒模型 flex布局(弹性布局) 常用属性 Chrome调试工具 在浏览器任何一个网页中,鼠标右键单击,选择检查,可打开调试工具.或者f12键. 打 ...

  10. Flex弹性布局介绍

    常见的布局有哪些? 1.最常见布局   浮动.定位 2.自适应布局   百分比布局 3.响应式布局   @media媒体查询 4.弹性布局       display:flex  将对象最为弹性伸缩盒 ...

最新文章

  1. 数据结构与算法(3-2)队列(顺序队列、循环队列与链队列)
  2. 微信小程序如何搭建本地环境开发
  3. IC基础知识(1)集成电路(IC)简介
  4. UI Automation
  5. 第五周 Leetcode 99. Recover Binary Search Tree (HARD)
  6. vueJs的简单入门以及基础语法
  7. 2.第一个HTML页面
  8. 鸿蒙应用开发--事件
  9. java实例变量,局部变量,类变量和final变量
  10. windows 10下hosts文件写入权限
  11. Java面试必备知识点梳理:二分查找算法
  12. JavaScript Number 对象
  13. 极客时间《Java并发编程实战》----Java线程
  14. 原生ajax如何跨域,原生ajax 如何解决cors跨域问题
  15. android触摸屏原理,智能手机触摸屏的工作原理是如何的
  16. 12-Solidity8.0-view和pure区别
  17. vue3 内置组件keep-alive用法的全面介绍
  18. java8 Exception全集
  19. SQL Server 2014 SP2
  20. Vue Vue3的生命周期

热门文章

  1. 17 java 存在的问题(转)
  2. drop user和drop user cascade的区别
  3. PPT设计的数据图表化表现
  4. 比较IE6的不同之处,与IE8 IE11 比较
  5. mysql ODBC连接配置
  6. silverlight中datagrid数据到处excel
  7. ASP Blob类型转存为Long Raw类型
  8. 总结htmlfile:未知的运行时错误
  9. oracle 扩展分区,Oracle在线扩展分区
  10. 拓端tecdat|R语言用回归构建配对交易(Pairs Trading)策略量化模型分析股票收益和价格