Flex 弹性布局1 flex布局特性
yuyutoo 2024-10-25 19:18 8 浏览 0 评论
本人一开始是做移动端原生开发的程序员一枚。现在原生开发实在是不咋景气,公司现在的项目基本上都是前端的项目,所以现在被调到前端,从小白一枚的角度出发分享一部分项目开发过程中用的比较多的知识吧,今天先学习一个flex布局,这个在项目中用到的实在太多了。
一、介绍
什么叫做弹性布局呢,他就是根据内容多少分配多大的控件,当内容不足时会自动的换行,去适应父布局,这也是他最大的好处 由此他可以去适配多种尺寸的页面。
二、flex结构
咱们先通过网上的一个图片看一下他的具体结构
其实在这个图片里面咱们主要记住是 main axis(主轴)和cross(交叉轴),主轴是内部子元素排列的方向,他可以是水平的也可以是垂直的,而跟主轴垂直的就是交叉轴。
三、flex布局的相关属性
flex-direction属性 设置主轴的方向
他有四个值:
1、row:(默认值)设置主轴为水平方向,子元素排列方向是从左到右。
2、row-reverse:设置主轴为水平方向,子元素排列方向是从右到左。
3、column:设置主轴为垂直方向,子元素排列方向是从上到下。
4、column-reverse:设置主轴为垂直方向,子元素排列方向是从下到上。
具体样式如图所示:
.flex-container1{
display: flex;
flex-direction:row;
}
.flex-container2{
display: flex;
flex-direction:row-reverse;
}
.flex-container3{
display: flex;
flex-direction:column;
}
.flex-container4{
display: flex;
flex-direction:column-reverse;
}
flex-wrap属性 设置子元素的换行方式
他有三个值:
1、nowrap :(默认值)不换行 一直往后排(当父布局空间不足时,也不会换行此时可能就会有内容被遮挡看不见了)。
2、wrap:换行,子元素往后排,当空间不足时会另起一行从新排列。
3、wrap-reverse:换行,跟wrap相似 只是行会从下往上开始。
这个就不展示实例了 大家可以自己试一下
justify-content属性 (这个比较实用)
表示了子元素在主轴方向上的对齐方式。
他有五个值:
1、flex-start 子元素从左到右排列
2、flex-end 子元素从右到左排列
3、center 子元素居中排列
4、space-between 子元素两端跟父布局对齐 子元素直接间距等分
5、space-around 子元素直接间距和两端跟父布局间距都等分
具体实例如图:
给出其中center的代码如下:
.flex-container{
display: flex;
justify-content: center;
}
align-items属性 子元素在交叉轴上的排列方式
表示子元素在交叉轴上的排列方式。
他有五个值:
1、flex-start 子元素在交叉轴上从前到后排列
2、flex-end 子元素在交叉轴上从后到前排列
3、center 子元素在交叉轴上居中排列(如垂直居中)
4、baseline 子元素文字的第一行的基线对齐
5、stretch :(默认值)如果子元素没有设置高度或auto,那子元素将占满父容器的高度。
代码如下(以中间对齐为例):
.flex-container1{
display: flex;
flex-direction:row;
align-items: center;
}
好了今天先将这个多,下次继续讲一下这个弹性布局的其他属性。这个在实际项目中使用的越来愈多 我也不是从基础开始讲解 我是从在实际项目中使用度较高的地方开始学习和记录的 如果你也是一个学习前端的同学感觉那些东西在实际项目中用的比较多 你也可以提出来咱们一起学习进步 有讲解记录不对的地方 欢迎大家点出来 我会继续学习的。
相关推荐
- Fabric.js 拖放元素进画布 - 掘金
-
本文简介点赞+关注+收藏=学会了学习Fabric.js,我的建议是看文档不如看demo。本文实现的功能:将元素拖进到画布中并生成对应的图形或图片。效果如下图所示:...
- Vue3为什么推荐使用ref而不是reactive
-
为什么推荐使用ref而不是reactivereactive本身具有很大局限性导致使用过程需要额外注意,如果忽视这些问题将对开发造成不小的麻烦;ref更像是vue2时代optionapi的data的替...
- Fabric.js 样式不更新怎么办?(js更改样式)
-
本文简介带尬猴,我嗨德育处主任不知道你有没有遇到过在使用Fabric.js时无意中一些骚操作修改了元素的样式,但刷新画布却没更新元素样式?如果你也遇到同样的问题的话,可以尝试使用本文的方法。...
- Fabric.js 修改画布交互方式到底有什么用?
-
本文简介点赞+关注+收藏=学会了fabric.js为我们提供了很多厉害的方法。今天要搞明白的一个东西是canvas.interactive。官方文档对canvas.interact...
- Rust Web编程:第五章 在浏览器上显示内容
-
我们现在正处于可以构建一个Web应用程序的阶段,该应用程序可以使用不同的方法和数据管理一系列HTTP请求。这很有用,特别是当我们为微服务构建服务器时。然而,我们也希望非程序员能够与我们的应...
- Fabric.js 自由绘制椭圆 - 掘金(canvas画椭圆)
-
本文简介点赞+关注+收藏=学会了本文讲解在Fabric.js中如何自由绘制椭圆形,如果你还不了解Fabric.js,可以查阅《Fabric.js从入门到精通》。效果如下图所示...
- 手把手教你实现JS手搓"防抖"优化代码——专业的事用专业的方法!
-
前言在我们前端编程中,假如我们要给后端发送请求,万一手抖多点了几次,多发送了几遍怎么办?解决方案:防抖!这种事就要交给我们专业的“防抖”先生来处理!今天,我们就来教大家手搓“防抖”...
- 详解虚拟DOM与Diff算法(虚拟dom一定比实际dom快吗)
-
vue的虚拟DOM,Diff算法,其中一些关键的地方从别处搬运了一些图进行说明(感谢制图的大佬),也包含比较详细的源码解读。...
- 走进 React Fiber 的世界(我走进你的世界手势舞视频)
-
文/阿里淘系F(x)Team-冷卉Fiber设计思想Fiber是对React核心算法的重构,facebook团队使用两年多的时间去重构React的核心算法,在React16以上...
- 前端新一代框架 Svelte 火了!十个场景带你简单认识它!
-
近几年听到的主流框架都是Vue、React、Angular,但其实有一个框架在国外非常火,用起来也是很方便,那就是...
- 借助DeepSeek实现了一个PDF阅读器
-
1、简介使用pdf.js库加载和显示PDF文件。实现了翻页、缩放功能。提供了基本的错误处理。功能特点:支持选择本地PDF文件。可以逐页查看PDF内容。支持放大缩小功能。界面简洁,易于使...
- DeepSeek代码之旅1:卫星地图标记方法之——html语言的实现
-
最近遇到一个任务,具体功能如下:1、调用高德地图API,图层为卫星图层,根据需要标记兴趣点;2、标记完成后可以保存兴趣点,便于下次加载历史兴趣点。...
- Spring Boot3 竟能如此轻松整合 WebSocket 技术,你还不知道?
-
在当今互联网大厂的软件开发领域,实时通信的需求愈发迫切。无论是在线聊天应用、实时数据更新,还是协同办公系统,都离不开高效的实时通信技术支持。而WebSocket作为一种能够实现浏览器与服务器之间持...
- Javascript简介和基础数据类型(列举javascript的数据类型)
-
什么是JavaScript?JavaScript是世界上最流行的语言之一,是一种运行在客户端的脚本语言(Script是脚本的意思)。...
- Spring Boot3 中 WebSocket 实现数据实时通信全解析
-
各位互联网大厂的开发同仁们,在如今的互联网应用开发中,实时通信功能越来越重要。比如在线聊天、数据推送、实时通知等场景,都离不开高效的实时通信技术。而WebSocket作为一种高效的双向通信协议,在...
你 发表评论:
欢迎- 一周热门
-
-
前端面试:iframe 的优缺点? iframe有那些缺点
-
带斜线的表头制作好了,如何填充内容?这几种方法你更喜欢哪个?
-
漫学笔记之PHP.ini常用的配置信息
-
其实模版网站在开发工作中很重要,推荐几个参考站给大家
-
推荐7个模板代码和其他游戏源码下载的网址
-
[干货] JAVA - JVM - 2 内存两分 [干货]+java+-+jvm+-+2+内存两分吗
-
正在学习使用python搭建自动化测试框架?这个系统包你可能会用到
-
织梦(Dedecms)建站教程 织梦建站详细步骤
-
【开源分享】2024PHP在线客服系统源码(搭建教程+终身使用)
-
2024PHP在线客服系统源码+完全开源 带详细搭建教程
-
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)