教你快速上手Flex弹性盒布局(容器属性)(一)

简介: 教你快速上手Flex弹性盒布局(容器属性)

简介


  • Flex弹性布局
  • CSS3弹性盒(Flexilble Box或flexbox)是一种布局方式,常用与当页面需要适应不同的屏幕大小以及设备类型是能够确保元素拥有恰当的行为
  • 作用
  • 能够更加高效方便地控制元素的对齐,排列
  • 无论元素的尺寸是固定高度的还是动态的,都可以自动计算布局内元素的尺寸
  • 控制元素在页面内的布局方向
  • 按照不同的DOM所指定排序方式对屏幕上的元素重新排列
  • 好处
  • 可以让子元素排列在一行
  • 使子元素的高度一致


一,Flex布局语法


1.1,display: flex

  • 创建一个html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box{
            width: 100%;
            height: 600px;
            border: 1px solid black;
        }
        .box>div{
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <div class="box">
        <div>第一个子元素</div>
        <div>第二个子元素</div>
        <div>第三个子元素</div>
    </div>
</body>
</html>


  • 这是一个没有任何描述的样子

9e3f367a71306d115867f37515023424_74ee25d3f4624f7fbefd4bddd8e60d3b.png

  • 原来想要移动内容都需要浮动,现在我们在盒子里添加display: flex属性
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box{
            width: 100%;
            height: 600px;
            border: 1px solid black;
            display: flex;
        }
        .box>div{
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <div class="box">
        <div>第一个子元素</div>
        <div>第二个子元素</div>
        <div>第三个子元素</div>
    </div>
</body>
</html>


  • 现在添加display: flex内容自动浮动,但是我们没有做float浮动,也没有做边框塌陷处理

555a1a84d84b8b780786b2d9b55df65c_0ac90aeb72ac466791a42bac8222d8c5.png

  • display: flex属性写的有两个地方:

第一个父写在容器

第二个是子元素里


结论

就这一行就能让子元素并列排在一行,并且元素高度一样!!!


二,Flex属性


  • 容器属性
  • 设置给父元素的属性
  • 项目属性
  • 设置给子元素的属性


三,容器属性


容器属性 说明
flex-direction 决定主轴的方向(即项目的排列方向)
flex-wrap 定义如果在一条轴线排不下,如何换行
flex-flow 复合属性:是flex-direction和flex-wrap属性的简写形式
justify-content 定义项目在主轴上的对齐方式
align-items 定义项目在纵轴上的对齐方式
align-content 定义多根轴线的对齐方式


3.1,flex-direction

  • 决定主轴的方向(即项目的排列方向)
  • row:横向从左到右排列(左对齐),默认的排列方式
  • row-reverse:反转横向排列(右对齐),从后往前排,最后一项排在最前面
  • column:纵向排列
  • column-reverse:反转纵向排列,从后王前排,最后一项排在上面


3.2,flex-direction:row;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box{
            width: 100%;
            height: 600px;
            border: 1px solid black;
            display: flex;
            flex-direction:row;
        }
        .box>div{
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <div class="box">
        <div>第一个子元素</div>
        <div>第二个子元素</div>
        <div>第三个子元素</div>
    </div>
</body>
</html>


横向从左到右排列(左对齐),默认的排列方式

c2699c761d251f6b354f00c6ef1d36e1_370d0384724947bea8f311264b38d6b1.png


3.3,flex-direction:row-reverse;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box{
            width: 100%;
            height: 600px;
            border: 1px solid black;
            display: flex;
            flex-direction:row-reverse;
        }
        .box>div{
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <div class="box">
        <div>第一个子元素</div>
        <div>第二个子元素</div>
        <div>第三个子元素</div>
    </div>
</body>
</html>


row-reverse:反转横向排列(右对齐),从后往前排,最后一项排在最前面

a8c7bd1d87e81cee5e6bf4b7c17d628f_f32da1cfaa4f42bda0e9d5b37072bbec.png


3.4,flex-direction:column;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box{
            width: 100%;
            height: 600px;
            border: 1px solid black;
            display: flex;
            flex-direction:column;
        }
        .box>div{
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <div class="box">
        <div>第一个子元素</div>
        <div>第二个子元素</div>
        <div>第三个子元素</div>
    </div>
</body>
</html>


纵向排列

e8dabc9374977e609ce5c996a4fad166_692b90e45d7141e5aa59b04e3b09084b.png


3.5,flex-direction:column-reverse;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box{
            width: 100%;
            height: 600px;
            border: 1px solid black;
            display: flex;
            flex-direction:column-reverse;
        }
        .box>div{
            border: 1px solid black;
        }
    </style>
</head>
<body>
    <div class="box">
        <div>第一个子元素</div>
        <div>第二个子元素</div>
        <div>第三个子元素</div>
    </div>
</body>
</html>


反转纵向排列,从后王前排,最后一项排在上面

174c1e0709a9f851b6504324387e1cb2_ac4ff80d6fb14f3694dc816c550ab14e.png


相关文章
|
4月前
|
编解码 移动开发 前端开发
【Bootstrap】<前端框架>Bootstrap布局容器&栅格网格系统
【1月更文挑战第17天】【Bootstrap】<前端框架>Bootstrap布局容器&栅格网格系统
|
2月前
|
Java 容器
Java常用组件、容器与布局
Java常用组件、容器与布局
19 0
|
3月前
|
IDE API 开发工具
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Flex容器组件
鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Flex容器组件
60 5
|
7月前
|
容器
『PyQt5-Qt Designer篇』| 08 Qt Designer中容器布局和绝对布局的使用
『PyQt5-Qt Designer篇』| 08 Qt Designer中容器布局和绝对布局的使用
31 0
|
4月前
|
容器 索引 缓存
【鸿蒙软件开发】ArkUI容器组件之Grid(网格布局)
【鸿蒙软件开发】ArkUI容器组件之Grid(网格布局)
110 0
【鸿蒙软件开发】ArkUI容器组件之Grid(网格布局)
|
4月前
|
容器 API UED
【鸿蒙软件开发】ArkUI之容器组件Counter(计数器组件)、Flex(弹性布局)
【鸿蒙软件开发】ArkUI之容器组件Counter(计数器组件)、Flex(弹性布局)
【鸿蒙软件开发】ArkUI之容器组件Counter(计数器组件)、Flex(弹性布局)
|
5月前
|
安全 Java 容器
Netty通道的容器属性Attribute
Netty中的Channel通道类,有类似于Map的容器功能,可以通过“key-value”键值对的形式来保存任何Java Object的值。一般来说可以存放一些与通道实例相关联的属性,比如说服务期端的ServerSession会话实例。
|
7月前
|
容器
弹性容器:要使用弹性盒,必须先将一个元素设置为弹性容器我们通过display来设置弹性容器display:flex 来设计为块级弹性容器display:inline-flex 设计为行内的弹性容
弹性容器:要使用弹性盒,必须先将一个元素设置为弹性容器我们通过display来设置弹性容器display:flex 来设计为块级弹性容器display:inline-flex 设计为行内的弹性容
|
9月前
|
容器
教你快速上手Flex弹性盒布局(容器属性)(三)
教你快速上手Flex弹性盒布局(容器属性)
|
4天前
|
存储 监控 安全
【专栏】Docker Compose:轻松实现容器编排的利器
【4月更文挑战第27天】Docker Compose是款轻量级容器编排工具,通过YAML文件统一管理多容器应用。本文分三部分深入讨论其核心概念(服务、网络、卷和配置)、使用方法及最佳实践。从快速入门到高级特性,包括环境隔离、CI/CD集成、资源管理和安全措施。通过案例分析展示如何构建多服务应用,助力高效容器编排与管理。

热门文章

最新文章