css3弹性布局——display:flex

弹性布局Flexbox-display:flex Flexible Box 模型,通常被称为 flexbox,是一种一维的布局模型。它给 flexbox 的子元素之间提供了强大的空间分布和对齐能力。弹性框布局模块,可以更轻松地设计灵活的响应式布局结构,而无需使用浮动或定位。同时能够跟随网页的大小而进行调整。 阅读详情

弹性布局

Flexbox布局( Flexible Box 或CSS3 弹性布局),是CSS3中的一种新的布局模式,是可以自动调整子元素的高和宽,来很好的填充任何不同屏幕大小的显示设备中的可用显示空间,收缩内容防止内容溢出,确保元素拥有恰当的行为的布局方式。使用Flexbox来布局更容易,可以使用更少的代码,更简单的方式实现更复杂的布局,例如对齐方式,排列方向,排列顺序(这也是Flexbox布局的核心能力所在),弹性盒中的子元素通过在各个方向放置就可以以弹性的尺寸适应父元素的显示区域。由于子元素的显示顺序和它们在代码中 的顺序是独立的,通过使用弹性盒,定位子元素变得更加简单,复杂的布局也能够使用更清晰的代码更简单的实现。独立显示被设定成只针对可见元素,而不是基于代码的声明和导航顺序。

flex container(flex容器 或 弹性容器)

flex容器是flex元素的的父元素。 通过设置display 属性的值为flex 或 inline-flex定义。webkit内核浏览器加上-webkit-前缀。

注旧版本的属性值:

box:将对象作为弹性容器显示。(最老版本)
inline-box:将对象作为内联块级弹性容器显示。(最老版本)
flexbox:将对象作为弹性容器显示。(过渡版本)
inline-flexbox:将对象作为内联块级弹性容器显示。(过渡版本)

flex item(flex子元素 或 弹性子元素)

flex容器的每一个子元素均为一个flex子元素。注意:felx容器直接包含的文本变为匿名的弹性子元素。

注意:Flexbox布局和原来的布局是2套概念,所以部分css属性在flex子元素中将不起作用,比如:float, clear , vertical-align , column-*等。

浏览器支持

这里写图片描述

容器属性

display :指定 HTML 元素盒子类型。
flex-direction: 指定了弹性容器中子元素的排列方式
justify-content :设置弹性盒子元素在主轴(横轴)方向上的对齐方式。
align-items: 设置弹性盒子元素在侧轴(纵轴)方向上的对齐方式。
flex-wrap: 设置弹性盒子的子元素超出父容器时是否换行。
align-content: 修改 flex-wrap 属性的行为,类似 align-items, 但不是设置子元素对齐,而是设置行对齐
flex-flow: flex-direction 和 flex-wrap 的简写
order: 设置弹性盒子的子元素排列顺序。
align-self: 在弹性子元素上使用。覆盖容器的 align-items 属性。
flex: 设置弹性盒子的子元素如何分配空间。

实例

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8">
    <style type="text/css">
        .flex-box{
            display: flex;
            display: -webkit-flex;
            /*主轴方向  row(默认水平)column(垂直)*/
            flex-direction: row;
            /*容器条目超出时的行为  nowrap(默认 一行) wrap(换行)  wrap-reverse */
            flex-wrap: nowrap;
            /*"flex-flow"属性把"flex-direction"和"flex-wrap"结合起来*/

            /*条目主轴对其方式  flex-start 、flex-end (该行起始结束位置)center (居中)space-between 、space-around*/
            justify-content: flex-start;

            /*在交叉轴上的对其方式*/
            align-items: flex-start;

            /*多根轴线的对其方式*/
            align-content: flex-start;
        }
        .item-box{
            padding: 10px;
            flex: 1;
        }

    </style>
</head>
<body>
    <div class="flex-box">
        <div class="item-box">
            第一个
        </div>
        <div class="item-box">
            第二个
        </div>
        <div class="item-box">
            第三个
        </div>
    </div>
</body>
</html>

属性详解

flex-direction:
flex-direction 顺序指定了弹性子元素在父容器中的位置。
flex-direction的值有:

  1. row:横向从左到右排列(左对齐),默认的排列方式。
  2. row-reverse:反转横向排列(右对齐,从后往前排,最后一项排在最前面。
  3. column:纵向排列。
  4. column-reverse:反转纵向排列,从后往前排,最后一项排在最上面。

justify-content:
内容对齐(justify-content)属性应用在弹性容器上,把弹性项沿着弹性容器的主轴线(main axis)对齐。
justify-content值有:

  1. flex-start:弹性项目向行头紧挨着填充。这个是默认值。第一个弹性项的main-start外边距边线被放置在该行的main-start边线,而后续弹性项依次平齐摆放。
  2. flex-end:弹性项目向行尾紧挨着填充。第一个弹性项的main-end外边距边线被放置在该行的main-end边线,而后续弹性项依次平齐摆放。
  3. center:弹性项目居中紧挨着填充。(如果剩余的自由空间是负的,则弹性项目将在两个方向上同时溢出)。
  4. space-between:弹性项目平均分布在该行上。如果剩余空间为负或者只有一个弹性项,则该值等同于flex-start。否则,第1个弹性项的外边距和行的main-start边线对齐,而最后1个弹性项的外边距和行的main-end边线对齐,然后剩余的弹性项分布在该行上,相邻项目的间隔相等。
  5. space-around:弹性项目平均分布在该行上,两边留有一半的间隔空间。如果剩余空间为负或者只有一个弹性项,则该值等同于center。否则,弹性项目沿该行分布,且彼此间隔相等(比如是20px),同时首尾两边和弹性容器之间留有一半的间隔(1/2*20px=10px)。

align-items:
align-items 设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式。
align-items值有:

  1. flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
  2. flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
  3. center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
  4. baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与’flex-start’等效。其它情况下,该值将参与基线对齐。
  5. stretch:如果指定侧轴大小的属性值为’auto’,则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照’min/max-width/height’属性的限制。

flex-wrap :
flex-wrap 属性用于指定弹性盒子的子元素换行方式。
flex-wrap值有:

  1. nowrap - 默认, 弹性容器为单行。该情况下弹性子项可能会溢出容器。
  2. wrap - 弹性容器为多行。该情况下弹性子项溢出的部分会被放置到新行,子项内部会发生断行
  3. wrap-reverse -反转 wrap 排列。

align-content:
align-content 属性用于修改 flex-wrap 属性的行为。类似于 align-items, 但它不是设置弹性子元素的对齐,而是设置各个行的对齐。
值有:

  1. stretch - 默认。各行将会伸展以占用剩余的空间。
  2. flex-start - 各行向弹性盒容器的起始位置堆叠。
  3. flex-end - 各行向弹性盒容器的结束位置堆叠。
  4. center -各行向弹性盒容器的中间位置堆叠。
  5. space-between -各行在弹性盒容器中平均分布。
  6. space-around - 各行在弹性盒容器中平均分布,两端保留子元素与子元素之间间距大小的一半。

flex-flow:
flex-flow属性把flex-direction和flex-wrap结合起来

弹性子元素属性

order:
子元素排序排序
用整数值来定义排列顺序,数值小的排在前面。可以为负值。

align-self:
align-self 属性用于设置弹性元素自身在侧轴(纵轴)方向上的对齐方式。
值:

  1. auto:如果’align-self’的值为’auto’,则其计算值为元素的父元素的’align-items’值,如果其没有父元素,则计算值为’stretch’。
  2. flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
  3. flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
  4. center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
  5. baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与’flex-start’等效。其它情况下,该值将参与基线对齐。
  6. stretch:如果指定侧轴大小的属性值为’auto’,则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照’min/max-width/height’属性的限制。

flex:
flex 属性用于指定弹性子元素如何分配空间。
flex 分别是”flex-basis”、”flex-grow”和”flex-shrink”的简写。
flex-grow :定义弹性盒子元素的扩展比率。
flex-shrink :定义弹性盒子元素的收缩比率。
flex-basis :定义弹性盒子元素的默认基准值。
值:

  1. auto: 计算值为 1 1 auto
  2. initial: 计算值为 0 1 auto
  3. none:计算值为 0 0 auto
  4. inherit:从父元素继承
【小白指南】如何将deepseek引入WPS\Word\Excel中去? 如何将deepseek引入WPS\Word\Excel中去?纯小白都能看的懂,一步步操作就能行 阅读详情

相关推荐

航天仿真必看:如何用SOFA库实现高精度GCRS-ITRS坐标转换?避坑指南

本文深入解析了航天仿真中高精度GCRS-ITRS坐标转换的关键技术,重点介绍了SOFA库在天球系与轨道系转换中的权威应用。通过对比传统方法的误差来源,详细阐述了SOFA库的转换算法优势、工程实现步骤及误差控制策略,为航天器轨道仿真提供毫米级精度的解决方案。

7h6j5k4l3的博客 850

css3 display 详解

这个值大家不陌生,我们最熟悉的 缺省就是这个值,最基本的块级元素,属于 css入门初学者都知道的概念,只要是容器类型的元素基本都是这个值。除 之外,还有 到 , , , , , , 天生都是这个值。这个值大家也不陌生,行内元素嘛,只要是个行内元素都是这个值,最典型的是 ,还有 , ,以及古代 html语言当中的 , 都属于这一类型。

Abstract Base Class 775

Win10+Anaconda环境下PaddleOCR保姆级安装指南(附常见报错解决方案)

本文提供Win10+Anaconda环境下PaddleOCR的保姆级安装指南,涵盖从环境配置到模型部署的全流程,特别针对常见报错提供解决方案。通过详细的步骤说明和实用技巧,帮助开发者快速完成PaddleOCR安装与测试,避免常见陷阱,提升OCR开发效率。

weixin_29096377的博客 375

CSS弹性布局

title: CSS弹性布局 abbrlink: 31146 date: 2020-07-22 13:09:38 author: 胡安民 toc: true top: false cover: false summary: categories: Web reprintPolicy: cc_by keywords: 弹性布局概念,flex-direction,flex-wrap, justify-content,align-items,align-content tags: CSS CSS-弹性布局.

weixin_45203607的博客 8654

路径搜索算法——RRT*算法

RRT算法是RRT算法的优化版本,通过引入路径优化机制实现渐进最优性。该算法在高维空间和复杂环境中表现优异,主要步骤包括随机采样、树扩展和邻近节点重新连接。相比RRT,RRT能够不断优化路径质量,但计算复杂度更高。Python实现展示了其核心逻辑:随机采样扩展树节点,检查碰撞,选择最优父节点,并通过重新连接优化路径。算法适用于机器人导航等场景,但需平衡计算效率与路径质量。

swaggytiger的博客 3062

Maven的下载安装配置教程(详细图文)

目录 一、简单了解一下什么是Maven 二、maven的下载 三、maven的安装 四、maven的环境变量配置 五、setting文件配置 六、开发工具配置Maven 一、简单了解一下什么是Maven Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率。 1.Maven翻译为“专家“, ”内行”的意思,是著名Apache公司下基于Java开发的开源项目。 2.Maven项目对象模型(POM)是一..

bakelFF的博客 12万+

CSS3 弹性布局display:flex详解

弹性盒子display:flex常用属性详解

LJXLQXX的博客 3232

OSMDroid 切换地图不更新的问题

用OSMDroid加载Google地图的时候 需要有按钮切换不同图层的地图,如果发现调用了mMapView.setTileSource(ITileSource aTileSource)方法的时候发现地图View没有更新的话,可能是因为两个实例化TileSource对象其子类BitmapTileSourceBase这个类的aName成员变量值一样导致的地图在setTileSource出现不更新问题,...

godoge的博客 1039

弹性盒子布局(display:flex)

Flexbox 是 flexible box 的简称(注:意思是“灵活的盒子容器”),是 CSS3 引入的新的布局模式。它决定了元素如何在页面上排列,使它们能在不同的屏幕尺寸和设备下可预测地展现出来。 它之所以被称为 Flexbox ,是因为它能够扩展和收缩 flex 容器内的元素,以最大限度地填充可用空间。与以前布局方式(如 table 布局和浮动元素内嵌块元素)相比,Flexbox 是一个更强大的方式: 在不同方向排列元素 重新排列元素的显示顺序 更改元素的对齐方式 动态地将元素装入容器

m0_46420078的博客 1051

[系统安全] 十七.Windows PE病毒概念、分类及感染方式详解

作者前文介绍了PE文件格式,熟悉各种PE编辑查看工具,针对目标EXE程序新增对话框等;这篇文章将介绍Windows PE病毒, 包括PE病毒原理、分类及感染方式详解,并通过案例进行介绍。这些基础性知识不仅和系统安全相关,同样与我们身边的APP、常用软件及操作系统紧密联系,希望这些知识对您有所帮助,更希望大家提高安全意识,安全保障任重道远。本文参考了《软件安全》视频、安全网站和参考文献中的文章,并结合自己的经验和实践进行撰写,也推荐大家阅读参考文献。

杨秀璋的专栏 1万+

【新能源汽车测试工程师必看!DBC文件50条实战技巧,看懂这篇直接封神】

如果你是新能源汽车研发/测试工程师,还在为信号解析错误、报文找不到、DBC看不懂、实车故障复现不了头疼——那这篇文章,你一定要!在整车电控开发里,DBC = CAN总线的官方字典。没有DBC,报文就是一串乱码;读不懂DBC,测试寸步难行;用不好DBC,排查故障全靠猜。本文总结50条全网最实用、最贴近实车、最能解决问题的DBC技巧,从基础语法到新能源专用信号,从工具操作到故障排错,全部来自一线台架、实车、高压平台实战经验。不废话、不空谈、不玄学,全是能直接落地的硬货!

优快云-新能源汽车研发测试专业博主 1371

CSS3 弹性布局display:flex

CSS3 弹性布局display:flex css3单性盒子display:flex常见属性总结

weixin_44167504的博客 148

【Davinci开发】:CS接口创建及连接

AUTOSAR SWC之间添加CS-port :详细讲解step

2527

css3 display:flex弹性布局讲解

转载地址:https://www.cnblogs.com/hellocd/p/10443237.html 弹性布局(display:flex;)属性详解 Flexbox是 flexible box 的简称(注:意思是“灵活的盒子容器”),是CSS3引入的新的布局模式。它决定了元素如何在页面上排列,使它们能在不同的屏幕尺寸和设备下可预测地展现出来。 它之所以被称为 Flexbox ,是因为它能够扩展和收缩 flex 容器内的元素,以最大限度地填充可用空间。与以前布局方式(如 table ...

qq_38650613的博客 524

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

CSS3 display:flex 弹性布局属性详解

一、Flex布局-前言 Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性,旨在提供一个更有效地布局、对齐方式,并且能够使容器中的子元素大小未知或动态变化情况下仍然能够分配好子元素之间的空间。 Flex 布局的主要思想是使父容器能够调节子元素的宽度/高度(和排列顺序),从而能够最好地填充可用空间**(主要是为了适应所有类型的显示设备和屏幕尺寸)**。flex布容器能够放大子元素使之尽可能填充可用空间,也可以收缩子元素使之不溢出。 最重要的是,flexbox布局与方向无

juner_aspasia的博客 674

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

display:flex属性

我眼中的弹性盒子 display: flex意思是弹性布局,弹性布局简直不要太好用,今天就来和大家具体讲讲它的属性和用法吧。 flex的属性(以下五个属性语法都是加在父元素身上的。) 一 1. flex-direction: row; 布局的排列方向 (主轴排列方向) row 默认值,显示为行。方向为当前文档水平流方向,默认情况下是从左往右。 row-reverse ...

weixin_43507534的博客 3万+

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

css3-弹性布局display: flex;

记录:一、弹性布局,父级设置display: flex; 二、常用div是否间隔居中和对齐,类似floatjustify-content: flex-start | flex-end | center | space-between | space-around;justify-content: 左对齐 | 右对齐 | 居中 | 两端对齐 | 两端对齐再增加一定间隔;三、常用内容长度全屏拉伸,置于...

qq_35515563的博客 647

CSS3:布局display属性的flex(弹性布局)

CSS3:布局display属性的flex(弹性布局) 一、简介 Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。 它即可以应用于容器中,也可以应用于行内元素。(以上说明结合微信开发者工具说明)2009年,W3C提出了一种新的方案----Flex布局,可以...

weixin_30845171的博客 130

CSS:弹性布局

弹性布局是CSS3中一种现代的布局模式,专门用于设计一维布局(行或列)。它提供了更有效的方式来分配容器内项目的空间和对齐方式,即使项目的大小未知或动态变化。

Visual_progress的博客 602

弹性布局display:flex详解!

弹性布局:display:flex Flex-容器:使用display:flex盒子就是flex容器 Flex-项目:flex容器中的子元素就是项目,不包括孙子元素 flex默认主轴方向排列,即横向 Flex-容器的属性 display属性 作用:指定flex属性 取值:flex | inline-flex flex:将对象作为弹性伸缩盒展示,相当于块级属性,有默认宽度100% inline-flex:将对象作为内联块级弹性伸缩盒展示,即行级元素,没有默认宽度 flex-direction属

dlf_0610的博客 873

弹性布局--display:flex

今天我们来讲一下css3新特性,它可以简单、完整、响应式的完成所有页面的布局,且目前已经得到了所有浏览器的支持,Flex为Flexible Box的缩写,翻译过来也就是我们的弹性盒子,为盒状模型提供了最大的灵活性,且任何一个容器都可以指定为Flex布局。 弹性布局的整体架构 弹性盒子默认有两条轴:横轴和纵轴,默认的主轴是横轴(方向自左向右),默认的辅轴是纵轴(方向自上向下),当容器设置了d...

rememberyf的博客 367

【前端学习】CSS3弹性布局总结

文章目录·基本概念 今天用到弹性布局的时候,不小心忽略了弹性布局分为容器属性和项目属性 就比如我想让三个class=box的div在一行显示,我写了如下代码 .box{ width: 100px; height: 100px; border: 1px solid red; background-color: blue; display: flex; } 然而display:flex是应...

Dog Sun的博客 249

CSS3系列 11 弹性布局

弹性布局 基本介绍 弹性布局flex是CSS3新增的一种布局方式,相较于浮动布局,弹性布局在开发效率与维护性上都远胜前者。 flex全称为flexible box,因此也被称之为弹性盒子。 学习弹性布局最主要从2个方面入手: 弹性容器:被设置为display: flex或display: inline-flex的容器元素 弹性元素:弹性容器中包裹的元素 一个大的弹性容器中可以包含多个小的弹性容器,我们可以控制弹性容器中元素的排列方式,也可以为弹性元素进行单独的区域划分以及改变其排列方式,总之而言使用弹性

weixin_43422005的博客 1492

display:flex 弹性布局

display:flex; 是指弹性布局,它能够扩展和收缩 flex 容器内的元素,以最大限度地填充可用空间。Flex是Flexible Box的缩写,意为”弹性布局”,用来为盒状模型提供最大的灵活性。

贩梦的博客 1674

html5弹性布局两行三列,display:flex 多栏多列布局

转自:http://www.360doc.com/content/14/0811/01/2633_400926000.shtmldisplay:flex 多栏多列布局浏览器支持情况:火狐直接支持w3c无前缀写法,谷歌和opera支持-webkit- 前缀写法,比较适合移动端开发使用,display:flex 这个牛逼的css3布局属性,遗憾的是只有谷歌和火狐支持,中国人常用的手机上的浏览器几乎全军...

weixin_33600376的博客 5354

弹性布局(display:flex;)属性详解

弹性布局(display:flex;)属性详解

m0_61044901的博客 1741
上一篇: javascript倒计时
下一篇: nodejs WEB框架express入门教程
zbctrl
博客等级 码龄9年 2粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值