CSS3 弹性盒子(flex、flex-direction属性、flex-wrap属性、align-items属性、align-content属性)详解

news2024/9/21 4:40:49

文章目录

  • flex
  • flex-direction 属性
  • flex-wrap 属性
  • align-items 属性
  • align-content 属性的使用


flex

  • 在 CSS3 中给 display 属性增加了新的属性值 flex,如果一个元素被设置 display:flex,说明该元素为弹性布局,也就是个弹性盒子。 flex 主要由两个轴来控制布局,如下图所示。
    在这里插入图片描述
    上图说明如下:
  • main axis 是主轴,该轴的开始为 main start,结束为 main end。
  • cross axis 是交叉轴,该轴的开始为 cross start,结束为 cross end。
  • flex item 是 flex 容器中的元素。

flex-direction 属性

  • flex-direction 属性指定了弹性子元素在父容器中的排列方向和顺序。 其语法格式为:
flex-direction: row | row-reverse | column | 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>
      .content1 {
        width: 200px;
        height: 200px;
        border: 1px solid #c3c3c3;
        display: flex;
        flex-direction: row; /*默认值,行对齐,主轴起点与终点相同*/
      }
      .content2 {
        width: 200px;
        height: 200px;
        border: 1px solid #c3c3c3;
        display: flex;
        flex-direction: row-reverse; /*行对齐,主轴起点与终点相反*/
      }
      .content3 {
        width: 200px;
        height: 200px;
        border: 1px solid #c3c3c3;
        display: flex;
        flex-direction: column; /*列对齐,主轴起点与终点相同*/
      }
      .content4 {
        width: 200px;
        height: 200px;
        border: 1px solid #c3c3c3;
        display: flex;
        flex-direction: column-reverse; /*列对齐,主轴起点与终点相反*/
      }
      .box {
        width: 50px;
        height: 50px;
        color: black;
      }
    </style>
  </head>
  <body>
    <div class="content1">
      <div class="box" style="background-color:#FFE5B9;">A</div>
      <div class="box" style="background-color:#EFF8FF;">B</div>
      <div class="box" style="background-color:#C9CBFF;">C</div>
    </div>
    <div class="content2">
      <div class="box" style="background-color:#FFE5B9;">A</div>
      <div class="box" style="background-color:#EFF8FF;">B</div>
      <div class="box" style="background-color:#C9CBFF;">C</div>
    </div>
    <div class="content3">
      <div class="box" style="background-color:#FFE5B9;">A</div>
      <div class="box" style="background-color:#EFF8FF;">B</div>
      <div class="box" style="background-color:#C9CBFF;">C</div>
    </div>
    <div class="content4">
      <div class="box" style="background-color:#FFE5B9;">A</div>
      <div class="box" style="background-color:#EFF8FF;">B</div>
      <div class="box" style="background-color:#C9CBFF;">C</div>
    </div>
  </body>
</html>

在这里插入图片描述

flex-wrap 属性

  • flex-wrap 属性用于指定弹性盒子的子元素换行方式。 其语法格式为:
flex-wrap: nowrap|wrap|wrap-reverse|initial|inherit;
  • 其属性值的意义如下所示:
    在这里插入图片描述
<!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>
      div {
        width: 100px;
        height: 100px;
        color: black;
      }

      #content {
        width: 240px;
        height: 300px;
        background-color: white;
        display: flex;
        flex-wrap: wrap-reverse;
      }
      .item1 {
        background-color: #ffe5b9;
      }
      .item2 {
        background-color: #eff8ff;
      }
      .item3 {
        background-color: #c9cbff;
      }
    </style>
  </head>
  <body>
    <div id="content">
      <div class="item1">1</div>
      <div class="item2">2</div>
      <div class="item3">3</div>
    </div>
  </body>
</html>

在这里插入图片描述

align-items 属性

  • align-items 属性是用来设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式。 其语法格式为:
align-items: flex-start | flex-end | center | baseline | stretch;
  • 其属性值的意义如下所示:
    在这里插入图片描述
<!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>
      div {
        width: 100px;
        color: black;
      }

      #content {
        width: 240px;
        height: 300px;
        background-color: white;
        display: flex;
        align-items: stretch;
      }
      .item1 {
        background-color: #ffe5b9;
      }
      .item2 {
        background-color: #eff8ff;
      }
      .item3 {
        background-color: #c9cbff;
      }
    </style>
  </head>
  <body>
    <div id="content">
      <div class="item1">1</div>
      <div class="item2">2</div>
      <div class="item3">3</div>
    </div>
  </body>
</html>

在这里插入图片描述

align-content 属性的使用

  • align-content 属性可以用于控制多行的对齐方式,如果只有一行则不会起作用。 其语法格式为:
align-content: flex-start | flex-end | center | space-between | space-around |
  stretch;
  • 其属性值的意义为:
    在这里插入图片描述
<!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>
      div {
        width: 60px;
        color: black;
      }
      #content {
        width: 300px;
        height: 300px;
        background-color: antiquewhite;
        display: flex;
        flex-wrap: wrap;
        align-content: stretch;
      }
      .left {
        background-color: gray;
      }
      .center {
        background-color: silver;
      }
      .right {
        background-color: darkgray;
      }
    </style>
  </head>
  <body>
    <div id="content">
      <div class="left">div1块</div>
      <div class="center">div2块</div>
      <div class="right">div3块</div>
      <div class="left">div4块</div>
      <div class="center">div5块</div>
      <div class="right">div6块</div>
      <div class="left">div7块</div>
      <div class="center">div8块</div>
      <div class="right">div9块</div>
      <div class="left">div10块</div>
      <div class="center">div11块</div>
      <div class="right">div12块</div>
    </div>
  </body>
</html>

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/141898.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux traceroute 原理及使用

Linux traceroute 原理及使用 序 在某次接入数据的场景中&#xff0c;需要到对方 SFTP 服务器上&#xff0c;获取数据&#xff0c;但是在配置时发现在配置正确的情况下&#xff0c; 连接总是超时&#xff0c;最终排查后发现网络不通&#xff0c;打通网络后才正确连接&#xf…

【C++】函数重载

函数重载1.函数重载的背景2.函数重载的概念2.1参数类型不同的重载2.2参数个数不同的重载2.3参数类型顺序不同的重载2.4注意事项&#xff1a;仅仅是返回值不同无法构成函数重载3.C函数重载的原理---函数名字修饰4.函数重载总结1.函数重载的背景 在C语言中&#xff0c;我们写一个…

通信原理 | 基本概念

1 通信及通信系统 通信(Communication)是实现信息和消息传输的过程 通信系统(Communication System)的组成: 实现通信的所有硬件和软件设备、传输媒介以及各种通信协议等 消息(Message)、信息(Information)、信号(Signal)的区别: 消息通常指人的感官能够感受到的…

无刷电机高压与低压的选择与未来发展前景

近几年来&#xff0c;伴随无刷马达被戴森吸尘器全力以赴运用在家用电器上&#xff0c;颠覆了传统家电的3个产品运用场景&#xff0c;吹风筒就是这样的一个例子。 迅速风筒由于其加工工艺的创新能力&#xff0c;给大家增添了不一般的产品体验度。新型的迅速风筒&#xff0c;搭配…

2023我的前端面试小结

对事件委托的理解 &#xff08;1&#xff09;事件委托的概念 事件委托本质上是利用了浏览器事件冒泡的机制。因为事件在冒泡过程中会上传到父节点&#xff0c;父节点可以通过事件对象获取到目标节点&#xff0c;因此可以把子节点的监听函数定义在父节点上&#xff0c;由父节点…

Elasticsearch:利用搜索提高医疗保健公平 - 用多语言 NLP 模型和分析来改善最终用户体验

随着更高生产力和更健康的人群寿命更长&#xff0c;医疗保健将成为社会最重要的方面之一。 COVID-19 大流行加速了现代技术的采用&#xff0c;并凸显了患者体验的重要性。 随着越来越多的消费者开始控制他们的数据&#xff0c;医疗保健系统变得捉襟见肘。 根据德勤和斯科茨代尔…

【High 翻天】Higer-order Networks with Battiston Federico (5)

目录扩散高阶扩散题外话高阶随机游走扩散 在给出建模之后&#xff0c;接下来讨论如何将传统意义下的扩散拓展到高阶系统。扩散是一个线性过程&#xff0c;但在许多不同的情况下都有强相关性。扩散这个词实际可指代两个不同的过程&#xff1a; 标准的扩散过程&#xff0c;或者…

课题-基于安卓androidstudio的校园外卖app

一、课题介绍 客户端&#xff1a; 1&#xff1a;登录注册&#xff1a;用户可以通过自己的信息进行账号的注册 2&#xff1a;商家搜索&#xff1a;可以对商家的信息进行模糊搜索 3&#xff1a;查看菜单&#xff1a;点击商家可以查看具体的菜单信息 4&#xff1a;添加购物车&…

SAP FICO 财务月结--自动清账

一、基本概念 清账是会计科目的借贷挂账后的核销&#xff0c;其中包括客户、供应商以及实行未清账管理的总账科目等。 客户和供应商的清账通常会在收款或者付款的时候同时完成&#xff0c;也就是边收边清或者边付边清&#xff0c;也可以后续手工清账&#xff08;客户F-32&…

人脸清晰化神器codeFormer图形界面包GUI

1. codeFormer介绍 在NeurIPS 2022上&#xff0c;南洋理工大学-商汤科技联合研究中心S-Lab提出了一种基于VQGANTransformer的人脸复原模型CodeFormer&#xff0c;效果是真的强大&#xff0c;先展示下效果&#xff0c;用的官方案例效果图。 官方给出的代码见这里 传送门 2. 图…

Python数组存储方式与向量化、按行按列展平/展开

文章目录1 逻辑存储与内存存储1.1 高维张量1.2 按行展开和按列展开2 矩阵向量化、按行按列展开2.1 numpy中&#xff1a;numpy.ravel()ndarray.flatten()2.2 Pytorch中&#xff1a;3 pytoch中的view&#xff0c;reshape&#xff0c;permute对比3.1 view3.2 reshape3.3 permute链…

Redis缓存雪崩缓存击穿缓存穿透

Redis缓存雪崩&缓存击穿&缓存穿透一 缓存更新策略二 缓存雪崩三 缓存击穿四 缓存穿透一 缓存更新策略 目前redis缓存更新存在3种主流策略&#xff0c;分别是&#xff1a;内存淘汰、超时剔除、主动更新。 1、内存淘汰 LRU/LFU/FIFO算法剔除&#xff1a;例如maxmemory-…

【云原生进阶之容器】第二章Controller Manager原理2.4节--Informer机制剖析

1 Informer机制剖析 如上图所示,client-go 包中一个非常核心的工具就是 informer,informer 可以让与 kube-apiserver 的交互更加优雅。 Informer的主要作用包括如下两个方面: 同步数据到本地缓存。Informer 会不断读取 Delta FIFO 队列中的 Object,在触发事件回调之…

MySQL8.0锁情况排查

GreatSQL社区原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本&#xff0c;使用上与MySQL一致。作者&#xff1a; 杨延昭文章来源&#xff1a;GreatSQL社区投稿 在数据库中&#xff0c;除传统的计算资源(CPU、RAM、IO)的争用…

【C语言】-关于指针的知识你真的都知道了??快进来看看这里面的指针会让你眼前一亮

&#x1f387;作者&#xff1a;小树苗渴望变成参天大树 &#x1f38a;作者宣言&#xff1a;认真写好每一篇博客 &#x1f389; 作者gitee:link 如 果 你 喜 欢 作 者 的 文 章 &#xff0c;就 给 作 者 点 点 关 注 吧&#xff01; 指针进阶&#x1f4a6;前言&#x1f496;一、…

MYSQL 数据行列交换(交换数据) 存储过程实现

行列转换的存储过程 初始图&#xff1a; 效果图&#xff1a; 实现过程&#xff1a; 1&#xff1a;建表、建数据 CREATE TABLE changeprice ( id bigint(20) NOT NULL auto_increment, sid bigint(20) NOT NULL, datecreated timestamp NOT NULL defaultCURRENT_TIMESTAMP…

nvue2中使用axios和插槽

一、组件的生命周期1、组件的生命周期经历的阶段&#xff1a;&#xff08;1&#xff09;创建阶段&#xff1a;beforeCreate、created、beforeMount、mounted&#xff08;2&#xff09;运行阶段&#xff1a;beforeUpdate、update&#xff08;3&#xff09;销毁阶段&#xff1a;2…

C语言二维数组和二重指针详解

二维数组 一个二维数组&#xff0c;在本质上&#xff0c;是一个一维数组的列表。声明一个 x 行 y 列的二维整型数组&#xff0c;形式如下&#xff1a; type arrayName [x][y]; 这个表示&#xff0c;有x个一维数组&#xff0c;每个一维数组的元素个数是y个。 声明示例&#xff1…

手写VITE-MockJS插件

mockJS是什么 mockJS是模拟接口数据&#xff0c;拦截客户端的请求的一个工具。 vite插件编写流程 pnpm init 初始化 pnpm install vite -D 安装Vite 配置package.json文件中的脚本 "scripts": {"dev": "vite","build": "vite…

K8s集群离线安装-kubeadm-详细篇

1、部署k8s的两种方式&#xff1a;kubeadm 和二进制源码安装 #本次实验采用的部署Kubernetes方式&#xff1a; kubeadm Kubeadm是一个K8s部署工具&#xff0c;提供kubeadm init和kubeadm join&#xff0c;用于快速部署Kubernetes集群。2、环境准备 #服务器要求&#xff1a; 建…