CSS布局之“弹性盒子布局”
弹性盒子,通常被称为 flexbox,是一种一维的布局模型。它给弹性元素提供了强大的空间分布和对齐能力,极大的方便了网页的布局和美化。
目录
前言
一、弹性盒子概述
二、弹性盒子组成
三、弹性容器(Flex Container)样式
(1)display属性(定义弹性容器)
(2)flex-direction属性——行布局、列布局
(3)flex-wrap属性
(4)flex-flow属性
(5)justify-content属性
(6)align-items属性
(7)align-content属性
四、弹性元素(Flex Item)样式
(1)样式添加方法
(2)flex-grow属性
(3)flex-basis属性
(4)flex-shrink属性
(5)flex属性
(6)order属性
(7)align-self属性
总结
前言
弹性盒子,通常被称为 flexbox,是一种一维的布局模型。它给弹性元素提供了强大的空间分布和对齐能力,极大的方便了网页的布局和美化。但是对于初学者来说,初次接触弹性盒子这一概念有些模糊,本文通过总结和梳理弹性盒子的概念和属性,更好的帮助大家学习弹性盒子。限于本人知识有限,文章难免有不如意之处,欢迎大家在评论区讨论,我也会虚心听取大家的意见,积极改正。
一、弹性盒子概述
(1)弹性盒子布局(Flexbox Layout),元素可以拉伸以填充额外的空间,也可以收缩以适应更小的空间。
(2)Flexbox可以解决弹性元素在弹性容器中的垂直居中、间隙平均分配和自动占据剩余空间等问题。
二、弹性盒子组成
弹性盒子(Flexbox)由弹性容器(Flex Container)和弹性元素(Flex Item)组成。
下面我们分别讲解弹性容器(Flex Container)和弹性盒子(Flex Item)的样式。
三、弹性容器(Flex Container)样式
(1)display属性(定义弹性容器)
HTML代码:
<div class=“flex-container”><div class=“flex-item”>1</div><div class=“flex-item”>2</div><div class=“flex-item”>3</div>
</div>
CSS代码:
.flex-container{
display:flex;/*定义弹性容器*/
}
(2)flex-direction属性——行布局、列布局
了解这一属性之前,我们得清楚主轴、辅轴的区别。
通俗来讲:主轴:确认排列的方向(默认水平排列); 辅轴:与主轴垂直的方向称为辅轴
flex-direction属性的取值有以下四种情况:row、row-reverse、column和column-reverse,具体表现形式如下:
(3)flex-wrap属性
该属性,决定弹性容器内的弹性元素排列空间不够时是否折行,取值有nowrap(不折行)、wrap(折行)和wrap-reverse(逆向折行),直观表现形式如下:
(4)flex-flow属性
使用flex-flow属性,可以一步设置弹性容器的flex-direction属性和flex-wrap属性。
具体格式为:flex-flow:flex-direction flex-wrap
例如:
(5)justify-content属性
该属性设置元素在主轴上的对齐方式,取值有flex-start(主轴起始位置对齐)、center(主轴居中对齐)、flex-end(主轴结束位置对齐)、space-between(两端对齐)和space-around(拉手对齐)。所谓拉手对齐,就是每个元素主轴方向的两边都会有相等的间隔,当几个元素一起排列时,他们之间的间隔会叠加,看起来就像手拉着手一样。
它们的具体表现形式如下:
(6)align-items属性
有设置元素在主轴上对齐方式的属性,那么也有设置元素在辅轴上对齐方式的属性,它就是align-items属性。掌握了justify-content属性,那么理解align-items属性会简单许多。它的取值主要有flex-start(辅轴起始位置对齐)、center(辅轴居中对齐)、flex-end(辅轴结束位置对齐)和stretch(辅轴方向拉伸以占据剩余空间)。特别注意的是,设置了stretch,需要去除元素高度,否则会以设置的元素高度为主。
它们的具体表现形式如下:
(7)align-content属性
该属性用于设置多行元素在容器中的整体对齐方式,只有一行或者一列,该属性不起作用。
align-content可有以下取值:flex-start、flex-end、center、space-between、space-around、stretch等。
四、弹性元素(Flex Item)样式
介绍完了弹性容器样式,我们来看看弹性元素样式。
(1)样式添加方法
HTML代码:
<div class= “flex-container”><div class= “flex-item”>1</div><div class= “flex-item”>2</div><div class= “flex-item”>3</div>
</div>
CSS代码:
.flex-item{
/*样式添加在这里*/
}
(2)flex-grow属性
该属性设置元素被拉大的比例,按比例分配容器剩余空间。
1.默认值为0:元素不占用剩余空间。
2.取值为n:元素占据剩余空间若干份中的一份。
例如:
(3)flex-basis属性
设置元素在主轴上的默认尺寸,其优先级高于width属性。
(4)flex-shrink属性
设置元素被压缩的比例,默认为1,表示弹性元素默认等比例压缩,0表示不压缩。
例如:
CSS代码:
.flex-container{
display:flex;/*定义弹性容器*/
width:50%;
}
.flex-item{
flex-basis:120px;
border:1px solid;
font-size:20px;
}
div:nth-child(1){
flex-shrink:0;
}
div:nth-child(2){
flex-shrink:1;
}
div:nth-child(3){
flex-shrink:2;
}
样式:
(5)flex属性
前面的三种属性,一个一个设置的话,有时候会很麻烦。通过flex属性,我们可以一步设置前面三种属性,高效、方便,但是我们要注意它们的设置顺序。
flex:flex-grow flex-shrink flex-basis;
(6)order属性
设置子元素在弹性容器中的排列顺序,数值越小排名越靠前
<div class="flex-container"><div class="flex-item">main</div><div class="flex-item">menu</div><div class="flex-item">aside</div>
</div>
(7)align-self属性
设置单个弹性元素在辅轴上的对齐方式,align-items是全部元素。其取值有:auto、flex-start、flex-end、center、baseline、stretch。
总结
以上就是CSS布局中弹性盒子的一些知识点归纳讲解,限于本人知识匮乏,文章写的也不尽人意,大家有什么意见欢迎在评论区讨论,我会虚心听取大家的意见并积极改正。创作不易,感谢点赞加关注。
CSS布局之“弹性盒子布局”相关推荐
- CSS 弹性盒子布局详解
CSS 弹性盒子 弹性盒子是CSS3的一种新布局模式.是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式. 弹性盒子布局是一种在前端HTML开发中比较常用的布局方式,还有 ...
- CSS弹性盒子布局——flex布局的基本概念
<CSS弹性盒子布局--flex布局的基本概念> Flexible Box 模型,通常被称为 flexbox,是一种一维的布局模型.它给 flexbox 的子元素之间提供了强大的空间分布和 ...
- flex布局,弹性盒子,css使用及理解
flex布局 以下内容主要分为四个部分: 常见概念 flex容器相关属性 flex元素相关属性 flex布局的应用 flex布局的兼容性处理 flex布局的相关概念 弹性盒模型 弹性盒模型(Flexi ...
- CSS 弹性盒子布局使用方法介绍
标题 CSS 弹性盒子布局 CSS 属性 应用在父容器元素上的CSS属性 1.display: flex | inline-flex; 2. flex-direction 3. flex-wrap 4 ...
- 【CSS 弹性盒子布局 (Flexible Box Layout)】
CSS 弹性盒子布局 Flexible Box Layout CSS 弹性盒子布局 (Flexible Box Layout) 1. 弹性盒子布局的 基本概念和术语 2. flex 属性: 设置 伸缩 ...
- 弹性盒子布局(下面有代码)
弹性盒子布局 语法:display:flex(设置弹性盒) 属性: flex-direction:决定主动方向 row:默认值,水平方向,起点在左端row-reverse:主轴为水平方向,起点在右端c ...
- Vue.js-Day08【项目实战(附带 完整项目源码)-day03:订单确认页面、美团支付页面、flex弹性盒子布局】
Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 实战项目源码[链接:https://pan.baidu.com/s/1r0Mje3Xnh8x4F1HyG4aQTA 提 ...
- HTML+CSS_第三部分(Flex弹性盒子布局、grid网格布局、移动端、移动端流式布局、移动端rem布局、响应式布局、Bootstrap框架)
文章目录 (1)Flex弹性盒子布局 一: 父容器上的属性 1. display:flex 设置为弹性盒子(写在父容器上) 2.flex-direction值 设置子项的布局方向(写在父容器上) 3. ...
- html弹性盒子垂直排列,css3弹性盒子布局
css3弹性盒子布局 CSS3 弹性盒( Flexible Box 或 flexbox),是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式. 引入弹性盒布局模型的目的是 ...
最新文章
- android 文字控件闪烁
- Oracle 11g 数据统计量Pending处理
- linux小知识之终端
- ubuntu没有声音-只有类比立体声输入
- ZRender实现粒子网格动画实战
- 光耦驱动单向可控硅_单向可控硅最筒单电路图大全
- spfa slf优化
- python函数手册 chm_Python中文文档
- 基于javaweb的宠物管理系统
- 微信小程序开发--虎年头像制作、虎头帽制作
- excel导出设置自动列宽
- lodop设置html字体大小无效,[图片问答]LODOP字体设置方法
- 健身教练教你跑步减肥的正确方法
- 数据结构教程(第5版)李春葆 课后习题及答案(PDF版)
- mysql 查看校对集,MySQL校对集
- 四象限法推导lm曲线_提出研究问题的“四象限法”
- 让割草类游戏更有趣的攻击动作设计技巧
- A 大吉大利,今晚吃鸡--枪械篇
- 满庭芳国色 高清剪图 桃红 上
- chrome浏览器表单自动填充默认样式-autofill设置
热门文章
- 史沐凡的python学习笔记20220210
- 迄今为止最深刻分析家乐福的文章—从商业模式、公司制度、公司文化三方面
- 【校招VIP】出品:在线实习“职查查”大V信息认证实战
- Matlab常用函数2:vpa,roundn
- c语言野指针导致问题,C语言进阶之路(三)----野指针的产生原因及解决办法
- 【渝粤教育】电大中专计算机职业素养 (2)作业 题库
- jenkins构建项目报错:java:[17,37] package xx.xx.xxx does not exist
- 1月FOMC会议连连放鹰 现货金转空大跌35美元
- GBase UP是做什么的
- 爱心 (css动画)