flex布局

flex布局目的:为盒状模型提供灵活性,用来解决垂直居中等特殊问题

容器属性

1. display: flex / -webkit-flex; --元素定义为flex 容器

把元素定义为flex 容器,定位flex容器后,它的子元素会自动成为它的容器成员--也叫flex项目

  • 采用 Flex 布局的元素,称为容器。它的所有子元素自动成为容器成员,称为为项目
  • 默认情况下,flex项目都是按照主轴方向排列的,所以展现的效果就类似行内元素的布局
    在这里插入图片描述
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=div., initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 
        -----------------display: flex/-webkit-flex; --------------
        1.这样box 就成了flex容器,子元素.sub就变成了项目成员-flex项目
        2.当一个元素变成flex项目后,就会失去一些原本的展现效果: 
        .sub 的div 就不再独占一行了,默认情况下,flex项目都是按照主轴方向排列的,所以展现的效果就类似行内元素的布局 
  
        -----------------flex容器的常用属性1: flex-direction--------------
         1. 主轴的方向,也就是容器中项目的排列方向 row/column/row-reverse/column-reverse

        -----------------flex容器的常用属性2: flex-wrap------------
        */
       
        .box{
            display: flex;
            display: -webkit-flex;  /*用来适配 webkit 内核的浏览器*/
            flex-direction: row-reverse;
        }
        .sub{
            background: red;
            color:#fff;
            font-size:12px;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="sub">1</div>
        <div class="sub">2</div>
        <div class="sub">3</div>
        <div class="sub">4</div>
        <div class="sub">5</div>
        <div class="sub">6</div>
    </div>
    
</body>
</html>

2. flex-direction - 主轴的方向,也就是容器中项目的排列方向

.box{
    display: flex;
    display: -webkit-flex;  /*用来适配 webkit 内核的浏览器*/
    flex-direction:row/column/row-reverse/column-reverse
}

在这里插入图片描述

3. flex-wrap – 项目大小超过主轴宽度时,是否换行

flex-wrap:nowrap不换行/wrap换行/wrap-reverse沿交叉轴相反的方向换行

在这里插入图片描述

4. justify-content – 定义项目在主轴上的对齐方式

左对齐,右对齐,中心对齐,两端对齐,环绕对齐–只是设置对齐的起点/方式,并不改变主轴的方向,也就是项目的排列方向

  • justify-content:flex-start; 项目从主轴的起点开始沿着主轴方向排列
  • flex-end 从终点开始 沿着主轴方向排列
    在这里插入图片描述

5. align-items – 定义项目在交叉轴上的对齐方式

stretch 是默认值–当交叉轴为垂直方向的时候,项目没有设置高度,或者高度为auto的时候,项目的高度等于容器的高度
在这里插入图片描述

项目属性

1. order – 项目在容器中的排列顺序

order:项目在容器中的排列顺序,数值越小排名越靠前

2. flex-grow – 项目的放大比例

flex-grow:通过一个数值来定义项目的放大比例,默认为0,即存在剩余空间也不进行放大项目

3. align-self – 用来替换容器的align-items 属性

align-self:使一个项目与其他项目在交叉轴上拥有不同的对齐方式, 用来替换容器的align-items 属性,默认值auto 遵循align-items的定义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flex布局(也称为弹性布局)是种主流的CSS布局方式,它可以方便地实现页面元素的自适应和排列。Flex布局通过定义容器和子元素的属性来实现灵活的布局效果。 在Flex布局中,有两个重要的概念:容器和子元素。容器是指应用Flex布局的父元素,而子元素则是容器内部的直接子元素。 以下是Flex布局的一些主要特点和属性: 1. 容器属性: - display: flex;:将容器设置为Flex布局。 - flex-direction:指定主轴的方向,可以是row(水平方向)、column(垂直方向)、row-reverse(水平反向)或column-reverse(垂直反向)。 - justify-content:定义了子元素在主轴上的对齐方式,可以是flex-start(起始对齐)、flex-end(末尾对齐)、center(居中对齐)、space-between(两端对齐,项目之间间隔相等)或space-around(每个项目两侧的间隔相等)。 - align-items:定义了子元素在交叉轴上的对齐方式,可以是flex-start(起始对齐)、flex-end(末尾对齐)、center(居中对齐)、baseline(基线对齐)或stretch(拉伸对齐)。 - flex-wrap:定义了子元素是否换行,可以是nowrap(不换行)、wrap(换行)或wrap-reverse(反向换行)。 2. 子元素属性: - flex:指定子元素的伸缩比例,用于控制子元素在容器中的占比。 - align-self:定义了单个子元素在交叉轴上的对齐方式,可以覆盖容器的align-items属性。 以上是Flex布局的一些基本概念和属性,通过灵活地使用这些属性,可以实现各种不同的布局效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值