前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >CSS弹性布局(Flex) 详解

CSS弹性布局(Flex) 详解

作者头像
田小檬
发布于 2023-08-24 02:41:48
发布于 2023-08-24 02:41:48
1.3K00
代码可运行
举报
文章被收录于专栏:田小檬博客田小檬博客
运行总次数:0
代码可运行

目录

Flex 布局是什么?

Flex 简介

  • Flex 是 Flexible Box的缩写, 意思是"弹性布局", 用来为盒状模型提供最大的布局灵活性
  • 任何一个容器都可以设置为Flex布局模式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* 块元素可以设置为Flex容器 */
.container {
  display: flex;
}

/*内联元素也可以设置为Flex*/
span {
  display: inline-flex;
}

/* WebKit内核浏览器,如Safari, 需要加前缀*/
div {
  display: -webkit-flex;    /*Safari*/
  display: lfex;
}
  • 一旦设置为Flex容器, 则容器内子元素的float, clear, vertical-align属性全部失去意义, 没有效果了
  • 由此可见, Flex布局的目标明确, 就是要把Float布局拍死在沙滩上

Tips: 布局演变史

1. 表格布局table

  • 世界第一个网页诞生于1990年12月20日, 依赖HTML中的<table>标签来实现
  • 页面随着内容的不断增加, 会变更越来越臃肿, 难以维护

2. 定位布局positon

  • 随着页面复杂度的不断提升, 更多的属性被添加到HTML, CSS
  • 其中, CSS中的position属性具有革命性
  • 使页面中的元素可以摆脱表格单元格的束缚,可以定位到窗口中的任何位置

3. 浮动布局float

  • 浮动float技术的初衷并不是为了布局, 而是用来处理文本与图片的排版问题
  • 因为任何元素一旦浮动就会变成块元素,从而可以设置宽高, 非常适合页面布局
  • 所以, 网页设计师就使用float再配合<div>,<span>,几乎可以完全任何页面布局
  • 但是元素浮动后, 为了防止对它后面的同级元素产生影响, 就必须清除浮动clear
  • 另外, 当元素之间具有层级关系时, 子元素的浮动会导致父元素失去高度
  • 当然浮动千万的问题远不止以上几点,所以,业界一直在寻求一种真正布局技术

4. 弹性布局flex

  • 我们知道,浮动布局很容易实现元素水平居中, 但是垂直居中就非常的困难,实现起来很麻烦
  • 用浮动技术来进行网页布局,是一种"无心插柳柳成萌"的结果, 算是一种巧合吧
  • 使用Flex弹性布局, 就是针对浮动布局的所有痛点而生, 元素浮动的后遗症全部解决
  • 所以在Flex容器中, 不能,也没必要更使用float属性,没了浮动当然也不再需要clear
  • Flex有自己的元素垂直对齐解决方案, 所以vertical-align属性也失效

5. 网格布局grid

  • 不得不说, 世间万物就是一个轮回, 曾经那么令人不堪的表格布局,居然回归了
  • 表格布局尽管有那么多的缺点,但是它的优势也非常明显,就是简单, 直观
  • 其实就这一条, 就足以征服所以设计师,简单直观难道不是我们一直追求的目标吗?
  • 如果有一种布局方式, 即有表格的简单直观, 又有弹性盒子的友好体贴, 那该有多好?
  • 这个愿意现在终于实现了, 网格布局(Grid)横空出世
  • 网格布局集美貌与智慧于一身, 同时具备了表格布局与弹性布局的所有优点
  • 这么好的东西, 可惜很多浏览器支持情况不乐观, 移动端支持好一些
  • 但相信, 会有越来越多的浏览器加入到网格布局的行列中, 大家现在学习正当时

Tips: 布局演变史: 表格(table) ==> 定位(position) ==> 浮动(float) ==> 弹性(flex) ==> 网格(grid, 发展中...)

网页布局(layout)是 CSS 的一个重点应用。

  • 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。
  • 2009年, W3C提出一个新方案: Flex布局
  • 可简更加的简单的实现,响应式的布局, 并且得到了几乎所有浏览器的支持, 所以请放心大胆的用吧
  • 所以, Flex必将成为未来布局的首选方案

Flex基本概念

基本术语

  • Flex容器(flex container):
    • 采用flex布局的元素, 称为flex容器, 简称容器
  • Flex项目(flex item):
    • Flex容器中的所有成员(子元素)会自动成为该容器的成员,称为flex项目,简称项目
    • flex项目都支持宽高设置, 哪怕它之前是内联元素,类似于浮动元素
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<style>
  /*flex容器*/
  .contaier {
    display: flex;
  }
  /*flex项目*/
  .item {
    ...
  }
</style>
...
<div class="container">
  <span class="item">item1</span>
  <span class="item">item2</span>
  <span class="item">item3</span>
</div>
  • 主轴(main axis):
    • 也叫水平轴, 横轴,x轴
    • main start: 起始位置
    • main end: 结束位置
    • main size: 单个项目占据的主轴空间
  • 交叉轴(cross axis):
    • 也叫垂直轴,坚轴,y轴
    • cross start: 起始位置
    • cross end: 结束位置
    • cross size: 单个项目占据的交叉轴空间

Flex容器属性

容器属性汇总:

序号

属性

描述

1

flex-direction

主轴方向(即项目排列方向)

2

flex-wrap

当多个项目在一行排列不下时,如何换行

3

flex-flow

flex-direction,flex-wrap的简写,默认:row nowrap

4

justify-content

项目在主轴上对齐方式

5

align-items

项目在交叉轴上的对齐方式

6

align-content

项目在多根轴线上的对齐方式,只有一根轴线无效


1. flex-direction

  • 功能: 决定项目在主轴上的排列方向
  • 它有四个可能的值:

序号

属性值

描述

1

row 默认值

主轴为水平方向,起点在左边

2

row-reverse

主轴为水平方向, 起点在右边(反转)

3

column

主轴为垂直方向, 起点在上边

4

column-reverse

主轴为垂直方向, 起点在下边

  • CSS语法:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.container {
  display: flex;
  flex-direction: row | row-reverse | column | column-reverse;
}

2. flex-wrap

  • 功能: 多个项目默认排列在一根轴线上,该属性定义了当一根轴线排列不下时,多作的项目的换行方式

序号

属性值

描述

1

nowrap 默认值

不换行

2

wrap

自动换行, 第一行排列不下, 自动转到下一行

3

wrap-reverse

自动反向换行, 第一行显示在下方, 与wrap相反

  • CSS语法
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.container {
  display: flex;
  flex-wrap: nowrap | wrap | wrap-reverse;
}
  • 属性值说明:
    • nowrap: (默认值)不换行
    • wrap: 自动换行
    • wrap-reverse: 自动反向换行

3. flex-flow

flex-flow属性是flex-direction属性和flex-wrap属性的简写形式,默认值为row nowrap

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.container {
  display: flex;
  flex-flow: [flex-direction] || [flex-wrap];
  /*默认*/
  flex-flow: row nowrap;
}

4. justity-content

  • 功能: 设置项目在主轴上的对齐方式
  • CSS语法:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.container {
  display: flex;
  justify-content: flex-start | flex-end | center | space-between | space-around;
}
  • 属性值说明

序号

属性值

描述

1

flex-start 默认值

左对齐

2

flex-end

右对齐

3

center

居中对齐

4

space-between

两端对齐: 项目之间间隔相等

5

space-around

项目两侧间隔相等,即项目之间间隔是项目到两端的二倍


5. align-items

  • 功能: 该属性设置项目在交叉轴上的对齐方式
  • CSS语法:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.container {
  display: flex;
  align-items: flex-start | flex-end | center | baseline | stretch;
}
  • 属性值说明:

序号

属性值

描述

1

flex-start

与交叉轴起点对齐, 即: 顶对齐 / 上对齐

2

flex-end

与交叉轴终点对齐, 即: 底对齐 / 下对齐

3

center

与交叉轴中间线对齐, 即: 居中对齐

4

baseline

与项目中第一行文本的基线对齐, 即文本的下边线

5

stretch 默认值

自动伸展到容器的高度(项目未设置高度或将高度设置为auto有效)


6. align-content

  • align-itemsalign-content有相同的功能,不过不同点是它是用来让每一个单行的容器居中而不是让整个容器居中
  • align-content属性只适用于多行的flex容器,并且当交叉轴上有多余空间使flex容器内的flex线对齐
  • align-items属性适用于所有的flex容器,它是用来设置每个flex元素在交叉轴上的默认对齐方式
  • 该属性的重点,在于多行项目, 这是与align-items最重要的区别
  • CSS语法:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.container {
  display: flex;
  align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}
  • 属性值说明:

序号

属性值

描述

1

flex-start

与交叉轴起点对齐

2

flex-end

与交叉轴终点对齐

3

center

与交叉轴中间点对齐

4

space-between

与交叉轴两端对齐, 轴线之间间隔相等

5

sapce-around

每根轴线间隔相等,轴线间隔比轴线到边框大一倍

6

stretch 默认值

轴线占满整个交叉轴


总结

一个弹性盒子容器的默认状态如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.container {
  /*弹性布局*/
  display: flex;
  
  /*以下弹性盒子容器全部属性以及默认值,即弹性盒子的默认状态*/
  
  /*1. 主轴方向: 行(水平)*/
  flex-direction: row;
  
  /*2. 多个项目换行方式: 不换行*/
  flex-wrap: nowrap;
  
  /*3. 多个项目在主轴上的排列与换行方式的简写*/
  flex-flow: row nowrap;
  
  /*4. 多个项目在主轴上的对齐方式: 左对齐*/
  justify-content: flex-start;
  
  /*5. 多个项目在交叉轴上的对齐方式: 自动伸展到容器高度*/
  align-items: stretch;
  
  /*6. 多个项目分为多行时, 在交叉轴上排列方式: 充满整个交叉轴*/
  align-content: stretch;
}

属性总结:

  • 设置项目在主轴上的排列方向与换行方式
    • flex-direction: 项目在主轴上的排列方向
    • flex-wrap: 项目在主轴上的换行方式
    • flex-flow: 以上属性的缩写,默认: row nowrap
  • 设置项目在主轴上的对齐方式
    • justity-content: 项目在主轴上的对齐方式
  • 设置项目在交叉轴上的对齐方式
    • align-items: 适用于项目单行排列方式
    • align-content: 适合于项目多行排列方式

Flex项目属性

巧合的是, 在Flex项目也有6个可用的属性,他们分别是:

序号

属性

描述

1

order

定义项目排列顺序,索引越小超靠前,默认为0

2

flex-grow

定义项目的放大比例,默认为0表示不放大, 即就算存在剩余空间也不放大

3

flex-shrink

定义了项目的缩小比例,默认为1,即如何空间不足,则自动缩小项目来填充

4

flex-basis

定义了项目占据的主轴空间,默认值为auto, 即项目原始大小

5

flex

是flex-grow,flex-shrink,flex-basis简写,默认值: 0 1 auto, 后二个属性可选

6

align-self

个性化定定制某单个项目的对齐方式,可覆盖容器align-items属性,默认auto


1. order

  • 定义项目的排列顺序。数值越小,排列越靠前,默认为0
  • CSS语法:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.item {
  order: integer;
}
  • 示意图:

2. flex-grow

  • 设置项目的放大比例, 默认为0: 不放大,哪怕轴上有剩余空间
  • CSS语法:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.item {
  flex-grow: number; /* default: 0 */
}
  • 空间分配方案小案例:
    • flex-grow: 1: 每个项目等分, 都占全部的空间的N分之一(N: 项目数量)
    • flex-grow: 2如果某个项目为2, 其它项目为1, 则它占据空间比其它项目多一倍
  • flex从剩余空间中分配项目所占的份数
    • 前提是项目不要设置固定宽度, 由盒子在剩余空间中自动分配
    • 每个盒子所在比例可以各不相同, 属性值必须是数值,整数小数都可以
    • 如果盒子中存在有宽度的项目, 那么剩余空间应该减去它们

3. flex-shrink

  • 设置了项目的缩小比例,默认为1, 即空间不足时, 自动缩小填充
  • CSS语法:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.item {
  flex-shrink: number; /*defautl: 1*/
}
  • 缩放规则
    • flex-shrink: 1: 所有项目都为1, 空间不足时, 自动等比例缩小填充主轴剩余空间
    • flex-shrink: 如果有一个项目为0, 其它项目为1, 则空间不足时, 它并不随其它项目缩小
    • 注意: 该属性不支持负值, 即flex-shrink: -1 无效

4. flex-basis

  • 定义了在计算分配主轴上剩余空间之前, 项目占据的主轴空间(main size)
    • 浏览器根据该属性,可以计算出主轴上是否还有剩余空间, 决定是否换行
    • 默认值为auto, 即项目原来占据的空间大小
  • CSS语法:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.item {
  flex-basis: length | auto; /* default auto */
}

你可以设置与height或者width属性一样的绝对值,例如500px,则该项目占据固定的空间大小

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.item {
  flex-basis: 500px;
}

5. flex

  • flex属性是前面flex-grow,flex-shrinkflex-basis属性的简写
  • 默认值: 0 1 auto, 除第一个外, 其它二个可选
  • CSS语法:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.item {
  flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
}
  • 由于该属性极其常用, 为了简化, Flex布局还为该属性设置了快捷值
    • flex: auto: 等价于flex: 1 1 auto
    • flex: none: 等价于flex: 0 0 auto
  • 推荐优先使用flex属性, 由浏览器自动计算出其它属性的值

6. align-self

  • 该属性允许单个项目有与其它项目不一样的对齐方式, 可覆盖掉容器的flex-items属性
  • 默认值: auto,表示继承父元素的align-items,如果没有父元素,则等价于stretch
  • CSS语法:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.item {
  align-self: auto | flex-start | flex-end | center | baseline | stretch;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【教程】通过Excel宏/Pandas两种方法来自动添加渐变数据条
        但是每一列都要手动这样设置就非常累了,所以这里就用到了VBA宏(或者Pandas)。
小锋学长生活大爆炸
2024/01/12
1860
【教程】通过Excel宏/Pandas两种方法来自动添加渐变数据条
Excel应用实践22: 比较并合并工作表
有两个工作表,均含有相同的数据,但最后一列名称和产品的数量不同,如下图1和图2所示。
fanjy
2019/10/22
7610
Excel应用实践22: 比较并合并工作表
VBA程序:查找并列出指定工作表中所有合并单元格的地址
运行下面的VBA过程,将列出当前工作表中所有合并单元格的地址。程序会新建一个工作表并重命名,然后在其中输入所有合并单元格的地址。
fanjy
2024/03/11
2980
VBA程序:查找并列出指定工作表中所有合并单元格的地址
Excel应用实践14:合并多个工作簿中的数据—示例3
要合并工作簿的情形有许多种,但最终的目的只有一条,将繁锁的手工操作自动化,让程序快速帮助我们完成这些重复的工作。
fanjy
2019/07/19
1.7K0
Excel应用实践11:合并多个工作簿中的数据——示例2
在上一篇文章《Excel应用实践10:合并多个工作簿中的数据》中,我们使用代码快速合并超过50个Excel工作簿文件,然而,如果要合并的工作簿中工作表的名称不相同,但位于每个工作簿的第1个工作表;并且,要在合并后的工作表的第1列中输入相对应的工作簿文件名,以便知道合并后的数据来自哪个工作簿文件。
fanjy
2019/07/19
2.9K0
一小时搞定 简单VBA编程 Excel宏编程快速扫盲
Excel宏编程可以快速完成批量表格操作:复制粘贴、数据过滤等,宏代码基于VB语言实现,有基础的编程经验就能快速阅读。下面是我的学习笔记。
全栈程序员站长
2022/08/10
1.8K0
ExcelVBA运用Excel的【条件格式】(五)
FormatConditions.Add`方法在VBA中用于向工作表上的某个范围添加新的条件格式规则。这个方法是`FormatConditions`集合的一个成员,而`FormatConditions`集合属于`Range`对象。这意味着你必须首先选定一个范围,然后才能调用`Add`方法来添加条件格式。
哆哆Excel
2024/07/25
3190
ExcelVBA运用Excel的【条件格式】(五)
VBA一键提取4个excel社保文件的指定单元格
【问题】平时提取4个文件的数据时,是打开一个文件,复制数据,再打开一个文件,复制数据,再打开一个文件,复制数据,再打开一个文件,复制数据,用时要30分以上,于是我总想能不能快一点,今天写个代码来完成这个工作用时1.69秒。
哆哆Excel
2022/10/31
5390
VBA汇总多个Excel文件数据
将某个文件夹下,所有Excel文件及子文件夹下的Excel文件内容,复制到一张汇总表。
xyj
2020/07/28
2.8K0
VBA汇总多个Excel文件数据
VBA用字典批量查找社保数据
【问题】我们知道社保导出的数据是很多合并的单元格,如果要查找一个数据都要找很久,如果数量多了更多费时,基于以上问题,特用VBA设计一个批量查找的程序。
哆哆Excel
2022/10/25
7320
VBA用字典批量查找社保数据
几个有用的Excel VBA脚本
最近有个朋友要处理很多的Excel数据,但是手工处理又太慢,让我帮忙处理。通过搜索和自己的编写,帮他写了几个脚本,大大提高了工作效率。其实Excel中的脚本(宏)的功能非常方便,只要熟悉了Excel的对象,做一些常见的处理,还是非常容易的。
大江小浪
2018/07/25
1.5K0
VBA汇总一个文件多工作表到一个表
VBA汇总一个文件多工作表到一个表 . 今天在工作中,同事传来一个excel文件中有很多个工作表,要我汇总,每个表的标题是一样的,虽然一个一个复制、粘贴是可以做到的,但时间很长,所以把以前学习一个代码,拿来用一下,代码找了很久才找到,想想还是把他放在这里好一点,以后查找方便 . 把多个工作表的内容汇总到一个“汇总”表中 Sub sheets_to_one() Dim mysht As Worksheet, rng As Range, sht As Worksheet Dim
哆哆Excel
2022/10/31
5750
Excel VBA编程
在Excel中,数据只有文本,数值,日期值,逻辑值和错误值五种类型。但是在VBA中,数据类型跟Excel不完全相同。根据数据的特点,VBA将数据分为布尔型(boolean),字节型(byte),整数型(integer),单精度浮点型(single),双精度浮点型(double),货币型(currency),小数型(decimal),字符串型(string),日期型(date),对象型等等
全栈程序员站长
2022/08/11
46.4K0
Excel VBA编程
这种合并单元格,PQ真的处理不了!又没学过VBA,怎么办!
导语:Power Query是无法识别合并单元格的,在一般情况下,也可以直接通过向下填充的方式补充好数据的,但是,有些特殊的情况,Power Query是真的无能为力!
大海Power
2024/03/25
3710
这种合并单元格,PQ真的处理不了!又没学过VBA,怎么办!
Excel VBA编程教程(基础一)
说简单点,VBA 是运行在 Microsoft Office 软件之上,可以用来编写非软件自带的功能的编程语言。Office 软件提供丰富的功能接口,VBA 可以调用它们,实现自定义的需求。基本上,能用鼠标和键盘能做的事情,VBA 也能做。
全栈程序员站长
2022/08/11
13.6K0
Excel VBA编程教程(基础一)
使用VBA合并工作表
从多个Excel工作表(子工作表)中获取信息,并用子工作表中的所有数据填充汇总工作表(父工作表),这是很多朋友会提到的常见要求。如果部分数据是从添加新工作表到工作簿中而增长的,那么获得这些数据的汇总非常方便,例如,添加单独的工作表,包含新月份的数据。
fanjy
2022/11/16
2.1K0
使用VBA合并工作表
EXCEL VBA语句集300
        定制模块行为 (1) Option Explicit ‘强制对模块内所有变量进行声明 Option Private Module ‘标记模块为私有,仅对同一工程中其它模块有用,在宏对话框中不显示  Option Compare Text ‘字符串不区分大小写  Option Base 1 ‘指定数组的第一个下标为1 (2) On Error Resume Next ‘忽略错误继续执行VBA代码,避免出现错误消息 (3) On Error GoTo ErrorHandler ‘当错误发生时跳转到过程中的某个位置 (4) On Error GoTo 0 ‘恢复正常的错误提示 (5) Application.DisplayAlerts=False ‘在程序执行过程中使出现的警告框不显示 (6) Application.ScreenUpdating=False ‘关闭屏幕刷新 Application.ScreenUpdating=True ‘打开屏幕刷新 (7) Application.Enable.CancelKey=xlDisabled ‘禁用Ctrl+Break中止宏运行的功能  工作簿 (8) Workbooks.Add() ‘创建一个新的工作簿 (9) Workbooks(“book1.xls”).Activate ‘激活名为book1的工作簿 (10) ThisWorkbook.Save ‘保存工作簿 (11) ThisWorkbook.close ‘关闭当前工作簿 (12) ActiveWorkbook.Sheets.Count ‘获取活动工作薄中工作表数 (13) ActiveWorkbook.name ‘返回活动工作薄的名称 (14) ThisWorkbook.Name ‘返回当前工作簿名称 ThisWorkbook.FullName ‘返回当前工作簿路径和名称 (15) ActiveWindow.EnableResize=False ‘禁止调整活动工作簿的大小 (16) Application.Window.Arrange xlArrangeStyleTiled ‘将工作簿以平铺方式排列 (17) ActiveWorkbook.WindowState=xlMaximized ‘将当前工作簿最大化  工作表 (18) ActiveSheet.UsedRange.Rows.Count ‘当前工作表中已使用的行数 (19) Rows.Count ‘获取工作表的行数(注:考虑向前兼容性) (20) Sheets(Sheet1).Name= “Sum” ‘将Sheet1命名为Sum (21) ThisWorkbook.Sheets.Add Before:=Worksheets(1) ‘添加一个新工作表在第一工作表前 (22) ActiveSheet.Move After:=ActiveWorkbook. _ Sheets(ActiveWorkbook.Sheets.Count) ‘将当前工作表移至工作表的最后 (23) Worksheets(Array(“sheet1”,”sheet2”)).Select ‘同时选择工作表1和工作表2 (24) Sheets(“sheet1”).Delete或 Sheets(1).Delete ‘删除工作表1 (25) ActiveWorkbook.Sheets(i).Name ‘获取工作表i的名称 (26) ActiveWindow.DisplayGridlines=Not ActiveWindow.DisplayGridlines ‘切换工作表中的网格线显示,这种方法也可以用在其它方面进行相互切换,即相当于开关按钮 (27) ActiveWindow.DisplayHeadings=Not ActiveWindow.DisplayHeadings ‘切换工作表中的行列边框显示 (28) ActiveSheet.UsedRange.FormatConditions.Delete ‘删除当前工作表中所有的条件格式 (29) Cells.Hyperlinks.Delete ‘取消当前工作表所有超链接 (30) ActiveSheet.PageSetup.Orientation=xlLandscape 或ActiveSheet.PageSetup.Orientation=2 ‘将页面设置更改为横向 (31) ActiveSheet.PageSetup.RightFooter=ActiveWorkbook.FullName ‘在页面设置的表尾中输入文件路径 ActiveSheet.PageSetup.Le
Tony老师
2020/03/05
2.2K0
ExcelVBA批量合并或取消单元格
【问题】烦人的合并单元格,我们在进行vlookup、sum等计算中最怕就是遇到神人交过来的表格,
哆哆Excel
2022/10/25
2.2K0
ExcelVBA批量合并或取消单元格
用VBA将字符导出为图片
最近打算写一个简单的图片文字识别程序,想先从简单的ASCii码字符串开始。我们需要数据集,即各个字符对应的图片数据。Python的很多图像库可以办到。但是这次选择用Excel的VBA试下,因为Excel可以将单元格复制为图片。
用户6021899
2020/04/27
1.3K0
用VBA将字符导出为图片
文科生也能学会的Excel VBA 宏编程入门(三)——合并文件
在日常工作中,我们经常会遇到需要汇总多个表格的数据,将它们合并到一个表格里的情况。虽然复制粘贴大法好,但如果让你汇总几十人填报的个人信息并做成汇总表格,估计你也膜不动了。因此,这一次我们就通过VBA程序完成这个任务,从此妈妈再也不担心我数数到头秃。
全栈程序员站长
2022/09/02
3.9K0
推荐阅读
相关推荐
【教程】通过Excel宏/Pandas两种方法来自动添加渐变数据条
更多 >
LV.4
全栈工程师
目录
  • 目录
  • Flex 布局是什么?
    • Flex 简介
    • Tips: 布局演变史
      • 1. 表格布局table
      • 2. 定位布局positon
      • 3. 浮动布局float
      • 4. 弹性布局flex
      • 5. 网格布局grid
    • 网页布局(layout)是 CSS 的一个重点应用。
  • Flex基本概念
    • 基本术语
  • Flex容器属性
    • 1. flex-direction
    • 2. flex-wrap
    • 3. flex-flow
    • 4. justity-content
    • 5. align-items
    • 6. align-content
    • 总结
      • 一个弹性盒子容器的默认状态如下:
      • 属性总结:
  • Flex项目属性
    • 1. order
    • 2. flex-grow
    • 3. flex-shrink
    • 4. flex-basis
    • 5. flex
    • 6. align-self
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档