1. CSS FlexBox弹性盒子布局

前言

      今天在使用html、css画柱形图来进行数据可视化时使用到弹性盒子布局,借此文章来记录一下有关弹性盒子的基本使用。

一、什么是弹性布局?

      在弹性布局模型中,弹性容器的子元素的水平对齐垂直对齐都能很方便的进行操控,并且可以在任何方向上排布,也可以“弹性伸缩”其尺寸,既可以增加尺寸以填满未使用的空间,也可以收缩尺寸以避免父元素溢出。通过嵌套这些框(水平框在垂直框内,或垂直框在水平框内)可以在两个维度上构建布局。

二、基本使用

      使用弹性盒子首先要给盒子添加属性 display: flex 再通过使用 justify-content 定义浏览器如何沿着弹性容器的主轴分配内容元素之间和周围的空间 以及 align-items 控制子元素在交叉轴上的对齐 。

请注意: 设为Flex布局以后,子元素的float、clear和vertical-align属性将失效。

1、弹性盒子的主轴和交叉轴

flex-direction 属性定义了弹性容器主轴的方向(正方向或反方向),弹性盒子的交叉轴则与主轴垂直,如 flex-direction: row,说明主轴是水平轴,交叉轴是垂直于它的竖轴。

One Two Three 分别是第一个、第二个、第三个盒子。

 ① flex-direction: row;   //表示从左到右定向的主轴

  ② flex-direction: row-reverse;   //表示从右到左定向的主轴

 ③ flex-direction: column; //表示从上到下定向的主轴

④ flex-direction: column-reverse; //表示从下到上定向的主轴

了解了弹性盒子的主轴和交叉轴,接下来我们就可以更好的理解其他属性。

3、justify-content 属性

justify-content 属性定义了子元素如何沿主轴分配子元素及其空间。

①justify-content: start;  从行首开始排列。每行第一个元素与行首对齐,同时所有后续的元素与前一个对齐。

②justify-content: center;  伸缩元素向每行中点排列。每行第一个元素到行首的距离将与每行最后一个元素到行尾的距离相同。

③justify-content: space-between;  在每行上均匀分配弹性元素。相邻元素间距离相同。每行第一个元素与行首对齐,每行最后一个元素与行尾对齐。

④justify-content: space-around;  在每行上均匀分配弹性元素。相邻元素间距离相同。每行第一个元素到行首的距离和每行最后一个元素到行尾的距离将会是相邻元素之间距离的一半。

⑤justify-content: space-evenly;  flex 项都沿着主轴均匀分布在指定的对齐容器中。相邻 flex 项之间的间距,主轴起始位置到第一个 flex 项的间距,主轴结束位置到最后一个 flex 项的间距,都完全一样。

4、align-items 属性

align-items属性设置了所有直接子元素的的在交叉轴上的对齐。

① align-items: stretch;  如果(多个)元素的组合大小小于容器的大小,其中自动调整大小的元素将等量增大,以填满容器,同时这些元素仍然保持其宽高比例的约束。

② align-items: center;  flex 元素的外边距框在交叉轴上居中对齐。如果元素的交叉轴尺寸大于 flex 容器,它将在两个方向上等距溢出。

③ align-items: start;  将子元素与容器的主轴起点或交叉轴起点对齐。

④ align-items: end;  将元素与容器的主轴末端或交叉轴末端对齐。

三、总结

    弹性盒子把一系列项目(元素)沿着同一方向布局。在放置元素过程中,可以控制元素在那个方向的维度,或者控制它们彼此之间的间距。在制作导航栏、放置表单控件等等场景时,使用弹性盒子会更加方便快捷。

如有任何问题,可私信我,一定会及时回复。

相关的参考链接: https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_flexible_box_layout

  • 24
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSS3弹性盒子布局Flexbox)是一种用于创建灵活的、响应式的网页布局的技术。它通过定义容器和内部元素之间的关系来实现布局。以下是CSS3弹性盒子布局的一些基本概念和属性: 1. 弹性容器(Flex Container):使用`display: flex;`或`display: inline-flex;`来定义容器为弹性容器。弹性容器的子元素将根据容器的规则进行布局。 2. 弹性项目(Flex Item):弹性容器中的子元素被称为弹性项目。可以使用`flex`属性来控制弹性项目在容器中的分布。例如,`flex: 1;`将使项目占据可用空间的比例为1。 3. 主轴(Main Axis)和交叉轴(Cross Axis):弹性容器具有主轴和交叉轴,它们决定了项目在容器内的布局方向。默认情况下,主轴是水平方向,交叉轴是垂直方向。 4. 弹性盒子属性: - `flex-direction`:指定主轴的方向(row、row-reverse、column、column-reverse)。 - `justify-content`:控制弹性项目在主轴上的对齐方式(flex-start、flex-end、center、space-between、space-around)。 - `align-items`:控制弹性项目在交叉轴上的对齐方式(flex-start、flex-end、center、baseline、stretch)。 - `align-self`:控制单个弹性项目在交叉轴上的对齐方式。可以覆盖`align-items`的设置。 - `flex-wrap`:指定是否换行(nowrap、wrap、wrap-reverse)。 - `flex-flow`:`flex-direction`和`flex-wrap`的简写形式。 - `align-content`:控制多行弹性项目在交叉轴上的对齐方式(flex-start、flex-end、center、space-between、space-around、stretch)。 CSS3弹性盒子布局非常灵活,并且可以适应不同屏幕大小和设备。它被广泛应用于响应式网站设计和移动应用程序的开发中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值