css flex 布局 space-around 和 space-evenly 之间的区别css flex布局)

20 篇文章 2 订阅

 space-around 和 space-evenly  都是 justify-content属性

.container {
  justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly | start | end | left | right ... + safe | unsafe;
}

  • flex-start(默认):项目被打包朝向 flex-direction 的开始。
  • flex-end: 项目被打包到 flex-direction 的末尾。
  • start: 物品被包装在方向的开始处writing-mode
  • end: 物品被包装到方向的尽头writing-mode
  • left: 物品被包装在容器的左边缘,除非这对 . 没有意义,否则flex-direction它的行为就像start.
  • right: 物品被包装在容器的右边缘,除非这对 . 没有意义,否则flex-direction它的行为就像start.
  • center:项目沿线居中
  • space-between:物品均匀分布在行中;第一项在起始行,最后一项在结束行
  • space-around:项目均匀分布在行中,周围空间相等。请注意,视觉上的空间是不相等的,因为所有项目的两边都有相等的空间。第一个项目将在容器边缘有一个空间单位,但下一个项目之间有两个空间单位,因为下一个项目有自己的适用间距。
  • space-evenly:项目分布使得任何两个项目之间的间距(以及边缘的空间)相等。

看代码:

space-evenly

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .parent{
            width: 600px;
            display: flex;
            flex-direction:row;
            flex-wrap:wrap;
            justify-content: space-evenly;
            border: 1px solid royalblue;
        }
        .child{
            width: 100px;
            height: 100px;
            background: red;
        }
    </style>
</head>
<body>
    <div class="parent">
        <div class="child"></div>
        <div class="child"></div>
        <div class="child"></div>
    </div>
</body>
</html>

很明显 space-evenly  任何两个项目之间的间距(以及边缘的空间)相等

space-around

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .parent{
            width: 600px;
            display: flex;
            flex-direction:row;
            flex-wrap:wrap;
            justify-content: space-around;
            border: 1px solid royalblue;
        }
        .child{
            width: 100px;
            height: 100px;
            background: red;
        }
    </style>
</head>
<body>
    <div class="parent">
        <div class="child"></div>
        <div class="child"></div>
        <div class="child"></div>
    </div>
</body>
</html>

很明显 space-around 只有内部项目彼此之间的间距相等。第一项和最后一项将仅分配一半的间距 。

从这定义就可以看出 区别了:

space-evenly在空间均匀中,弹性项目之间的空白空间总是相等的。但是,在 space-around 中,只有内部项目彼此之间的间距相等。第一项和最后一项将仅分配一半的间距 。

flex布局 教程可以看看 阮老师的博客,我都是看他写的简单 易懂:

Flex 布局教程:语法篇 - 阮一峰的网络日志

Flex 布局教程:实例篇 - 阮一峰的网络日志 

flex 布局(可以用 谷歌自带的翻译)

  • 16
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
CSS Flex布局是一种强大的布局技术,它可以让你更方便地控制元素在容器中的位置、大小和间距。Flex布局主要通过以下三个部分来实现: 1. Flex容器(Flex Container):使用display: flex属性声明一个元素为Flex容器,该容器中的所有子元素将成为Flex项目。 2. Flex项目(Flex Item):Flex容器中的每个子元素都是Flex项目,Flex项目可以通过Flex容器的属性来控制其位置、大小和间距。 3. Flex轴(Flex Axis):Flex容器默认有两个轴,一个是主轴(Main Axis),一个是交叉轴(Cross Axis)。主轴是Flex项目的排列方向,交叉轴则是垂直于主轴的方向。Flex项目可以在主轴和交叉轴上进行对齐。 下面是Flex布局的一些常用属性: 1. flex-direction:设置Flex容器的主轴方向,可以选择row(水平方向)、column(垂直方向)、row-reverse(水平方向反转)和column-reverse(垂直方向反转)。 2. justify-content:定义Flex项目在主轴上的对齐方式,可以选择flex-start(左对齐)、flex-end(右对齐)、center(居中对齐)、space-between(两端对齐,项目之间的间隔相等)、space-around(每个项目两侧的间隔相等)和space-evenly(每个项目两侧和项目之间的间隔都相等)。 3. align-items:定义Flex项目在交叉轴上的对齐方式,可以选择flex-start(上对齐)、flex-end(下对齐)、center(居中对齐)、baseline(基线对齐)和stretch(拉伸对齐,项目高度会被拉伸至与容器相同)。 4. flex-wrap:定义Flex项目是否在一行上排列,可以选择nowrap(不换行)、wrap(换行,第一行在上方)和wrap-reverse(换行,第一行在下方)。 5. align-content:当Flex项目在多行或多列上排列时,定义它们在交叉轴上的对齐方式,可以选择flex-start(顶部对齐)、flex-end(底部对齐)、center(居中对齐)、space-between(两端对齐,每行之间的间隔相等)、space-around(每行之间和容器两侧的间隔相等)和stretch(拉伸对齐,每行高度会被拉伸至与容器相同)。 6. order:定义Flex项目的排列顺序,数值越小越靠前,默认为0。 7. flex-grow:定义Flex项目在剩余空间中所占比例,数值越大占比越大,默认为0。 8. flex-shrink:定义Flex项目在空间不足时所占比例,数值越大缩小比例越大,默认为1。 9. flex-basis:定义Flex项目在主轴上的初始大小,默认为auto。 以上是Flex布局的一些基本属性,可以让你更好地掌握Flex布局的原理和使用方法。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

崽崽的谷雨

漫漫前端路,摸爬滚打

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值