flex布局容易忽略的角色作用

目录

清除浮动

作用于行内元素

flex-basis宽度

案例一:

案例二:

案例三:

flex-grow设置权重

案例一:

案例二:

 简写flex-grow:1 0 auto;


flex作为一维布局,行和列的使用,忽略的小角色,大作用。

清除浮动

父元素display:flex; 子元素的float:left;无效。

 <div class="wrap">
    <div class="item">首页0</div>
    <div class="item">
      <span>内容很长</span>
      <span>helloWorld</span>
    </div>
    <div class="item">首页2</div>
  </div>
.wrap {
  width:562px;
  background-color: #999;
  display: flex;
}
.item{
  float: left;
  background-color:aquamarine;
  color:blueviolet;
  border: 1px solid #999;
  margin: 20px;
}

 

作用于行内元素

第二个item下面有两个行内元素span,在父元素item中更改期布局。

.item:nth-child(2){

  display: inline-flex;

  flex-direction: column;

  text-align:center;

}

.wrap {
  width:562px;
  background-color: #999;
  display: flex;
}
.item{
  float: left;
  background-color:aquamarine;
  color:blueviolet;
  border: 1px solid #999;
  margin: 20px;
}
.item:nth-child(2){
  display: inline-flex;
  flex-direction: column;
}

flex-basis宽度

在使用flex布局之中,flex-basis不是auto的情况下,等同于width;

flex-grow的值用来定义每个子元素的比例权重值。

案例一:

flex-basis和width同时存在的话,flex-basis有number值,优先级高于width

<div class="wrap">
   <div class="item flex1">flex1 text Hello world</div>
   <div class="item flex2">flex2 text Hello world</div>
   <div class="item flex3">flex3 text Hello world</div>
   <div class="item flex4">flex4 text Hello world</div>
   <div class="item flex5">flex5 text Hello world</div>
   <div class="item flex6">flex6 text Hello world</div>
</div>
<style>
.wrap {
  width:100%;
  height: 200px;
  display: flex;
}
.item {
  flex-basis: 100px;
  // 这时的width的值无效,flex-basis优先级高于width的值
  width: 10;
  border: 1px solid #999;
  background-color:aqua;
  font-size: 16px;
  font-family: bold;
}
</style>

案例二:

flex-basis值为auto时,大小跟随width的值

.item {
  flex-basis: auto;
  // 这时flex-basis的值为auto,值跟随width的值
  width:80px;
  border: 1px solid #999;
  background-color:aqua;
  font-size: 16px;
  font-family: bold;
}

 

案例三:

内容有空格不会换行展示,flex-basis配合white-space:nowrap;使用。

flex-basis:0;

white-space:nowrap;

.item {
  flex-basis: 0;
  white-space: nowrap;
  width: 90px;
  border: 1px solid #999;
  background-color:aqua;
  font-size: 16px;
  font-family: bold;
}

  • 默认是auto,跟随内容的大小来适应,如果这时设置了width,则等于width的值;
  • 不为auto,例如'100px',这时的width值无效,在使用flex布局情况下,flex-basis优先级高于width;
  • 为0时,子元素的宽度跟随width的值;如果内容有空格,会换行展示;
  • flex-basis:0;white-space:nowrap; 宽度跟随width的值,内容如果有空格,使用white-space:nowrap; 不会换行;

flex-grow设置权重

1:剩余空间:父元素的总宽度减去子元素宽度之和

2:权重比例值:所有子元素flex-grow之和 > 1 ? 1 : 所有子元素flex-grow之和

3:可以分配的剩余空间 = 剩余空间*权重比例值

4:可以分配的剩余空间 * 单个子元素权重之和/所有子元素权重之和

案例一:

在父元素宽度没有撑满的情况下,使用flex-grow比重属性,用来占满父元素多余的空间。

.item {
  flex-basis: 14%;
  flex-grow:0.2;
  width:10px;
  border: 1px solid #999;
  background-color:aqua;
  font-size: 16px;
  font-family: bold;
}
.flex2 {
  flex-grow: 3;
  background-color:blue;
}

案例二:

之前写布局的时候,经常使用的布局方式如下,然后在子元素设置width:100%;

.wrap {
  width:562px;
  background-color: #999;
  display: flex;
  justify-content: space-around;
}
.item{
  width:100%;
  text-align:center;
  background-color:aquamarine;
  color:blueviolet;
  border: 1px solid #999;
}

 子元素使用flex-grow:1;flex-grow:1;也可以达到同样的效果

.wrap {
  width:562px;
  background-color: #999;
  display: flex;
}
.item{
  flex-grow:1;
  text-align:center;
  background-color:aquamarine;
  color:blueviolet;
  border: 1px solid #999;
}

 简写flex-grow:1 0 auto;

  flex-grow:1;

  flex-shrink: 0;

  flex-basis: auto;

.wrap {
  width:562px;
  background-color: #999;
  display: flex;
}
.item{
  flex: 1 0 auto;
  text-align:center;
  background-color:aquamarine;
  color:blueviolet;
  border: 1px solid #999;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何安全地远程控制电脑

在当今的工作环境中&#xff0c;远程控制技术变得越来越关键。无论是远程工作、技术支持&#xff0c;还是常规的维护任务&#xff0c;远程控制都为用户带来了极大的方便。本文将详细探讨远程控制电脑的基本概念、如何安全地进行远程控制电脑的操作&#xff0c;以及RayLink远程控…

Linux实现地址转换和抓包

1.Linux实现地址转换 1.1 SNAT和DNAT NAT:地址转换SNAT:源地址转换DNAT:目的地址转换 内网——》外网&#xff1a;内网色的ip不能直接和公网ip通信&#xff0c;必须要把内网的地址转换成和公网ip通信的地址 外网——》内网&#xff1a;外网也不能直接和内网通信&#xff0c…

与火山引擎合作深化,观测云携一站式监控解决方案登陆万有商城

近日&#xff0c;观测云正式宣布入驻火山引擎的万有商城。作为一款全栈式数据观测与分析平台&#xff0c;观测云的加入不仅丰富了火山引擎生态&#xff0c;也为广大企业用户带来了更便捷的数字化工具&#xff0c;助力企业快速实现业务监控与优化。 从全球覆盖到本地深耕&#x…

一、web基础和http协议

前言 https://www.baidu.com/&#xff1a;URL&#xff08;是一种万维网寻址网址&#xff09; https://&#xff1a;协议&#xff0c;加密的http&#xff0c;加密的超文本传输协议&#xff0c;在数据传输之前要通过整数进行身份验证&#xff0c;验证通过才可以进行数据传输。 …

Vue生成类似于打卡页面

数据表格 <el-table :data"tableData" border height"calc(100vh - 240px)" :cell-style"cellFun"><el-table-column label"姓名" show-overflow-tooltip prop"name" align"center"/><el-table-co…

高通---Camera调试流程及常见问题分析

文章目录 一、概述二、Camera配置的整体流程三、Camera的代码架构图四、Camera数据流的传递五、camera debug FAQ 一、概述 在调试camera过程中&#xff0c;经常会遇到各种状况&#xff0c;本篇文章对camera调试的流程进行梳理。对常见问题的提供一些解题思路。 二、Camera配…

03_Webpack模块打包工具

03_Webpack模块打包工具 目录 知识点自测 以下哪个选项是 ECMAScript 默认导出和导入的语法&#xff1f; A&#xff1a;export 和 require B&#xff1a;module.exports {} 和 import 变量名 C&#xff1a;export default 和 import 变量名 D&#xff1a;export 和 import {…

FastAPI解决跨域报错net::ERR_FAILED 200 (OK)

目录 一、跨域问题的本质 二、FastAPI中的CORS处理 1. 安装FastAPI和CORS中间件 2. 配置CORS中间件 3. 运行FastAPI应用 三、解决跨域报错的步骤 四、案例&#xff1a;解决Vue.js与FastAPI的跨域问题 1. Vue.js前端应用 2. FastAPI后端API 3. 配置CORS中间件 4. 运行…

盲盒抽卡机小程序,打造趣味与惊喜并存的卡牌体验

随着科技的不断发展&#xff0c;线上营销方式已经渗透到了各行各业中&#xff0c;卡牌市场也不例外。传统的拆卡方式存在一些局限问题&#xff0c;为了提高消费者的拆卡体验&#xff0c;线上抽卡机系统成为了新的发展方式&#xff0c;提供全新的市场活力。 盲盒抽卡机系统是卡…

ModelScope-Agent(1): 基于开源大语言模型的可定制Agent系统

目录 简介快速入门 简介 github地址 快速入门 看前两篇&#xff0c;调用千问API和天气API # 选用RolePlay 配置agent from modelscope_agent.agents.role_play import RolePlay # NOQArole_template 你扮演一个天气预报助手&#xff0c;你需要查询相应地区的天气&#x…

git将一个项目的文件放到另一个项目的文件夹下

现有productA与productB项目&#xff0c;现将productA、productB放到productC下的mall-web文件下&#xff0c;目前只能实现保留productA的提交记录&#xff0c;暂不能实现保留两个的提交记录 一.克隆最新的productC的库&#xff0c;这里指mall-web 二.将productA复制到mall-we…

flink-connector-mysql-cdc:01 mysql-cdc础配置代码演示

flink-connector-mysql-cdc&#xff1a; 01 mysql-cdc基础配置代码演示02 mysql-cdc高级扩展03 mysql-cdc常见问题汇总04 mysql-cdc-kafka生产级代码分享05 flink-kafka-doris生产级代码分享06 flink-kafka-hudi生产级代码分享 flink-cdc版本&#xff1a;3.2.0 flink版本&…

【机器学习】机器学习的基本分类-监督学习-支持向量机(Support Vector Machine, SVM)

支持向量机是一种强大的监督学习算法&#xff0c;主要用于分类问题&#xff0c;但也可以用于回归和异常检测。SVM 的核心思想是通过最大化分类边界的方式找到数据的最佳分离超平面。 1. 核心思想 目标 给定训练数据 &#xff0c;其中 是特征向量&#xff0c; 是标签&#xf…

[Redis#15] 持久化 | AOF | rewrite | aof_buf | 混合持久化

目录 1 使用AOF 流程 问题一&#xff1a;父进程在fork之后继续写旧AOF文件的意义 问题二&#xff1a;执行BGREWRITEAOF时的特殊情况处理 2 命令写入 3 文件同步 4 重写机制 工作流程&#xff1a; 触发条件 混合持久化 持久化 sum AOF&#xff08;Append Only File&a…

springai结合ollama

目录 ollama 介绍 使用 下载&#xff1a; 安装&#xff1a; 点击这个玩意next就行了。 运行 spring ai使用ollama调用本地部署的大模型 加依赖 配置yml 写代码 ollama 介绍 官网&#xff1a;Ollama Ollama是一个用于部署和运行各种开源大模型的工具&#xff1b; …

关于Chrome自动同步书签的解决办法

前言 并不一定适用所有用户&#xff0c; 目前我在网上搜集了一些资料&#xff0c;也做了一些尝试。 就我个人总结的经验来讲&#xff0c;分享大家以下几种办法&#xff1a; 1.书签同步插件 点击如下&#x1f517;&#xff1a; Chrome书签同步https://bm.famend.cn/ …

SpringMVC纯注解快速开发

此文章适合具有一定的java基础的同学看哦&#xff0c;如果有看不懂的基本代码还是先补补java基础哦。 此教程带您不使用xml文件而是纯注解开发&#xff0c;易懂、快捷、迅速&#xff0c;从0开始搭建&#xff0c;很快就能构建起一个SpringMVC项目&#xff0c;能学到两种使用tom…

16-02、JVM系列之:内存与垃圾回收篇(二)

JVM系列之&#xff1a;内存与垃圾回收篇(二) ##本篇内容概述&#xff1a; 1、堆Heap Area 2、方法区Method Area 3、运行时数据区总结 4、对象的实例化内存布局和访问定位一、堆 Heap Area 1、堆的核心概念 一个JVM实例只存在一个堆内存&#xff0c;堆也是Java内存管理的核心…

第二篇:k8s工作流程

我们来看通过deployment部署pod的常规流程&#xff1a; kubectl向apiserver发送部署请求&#xff08;例如使用 kubectl create -f deployment.yml&#xff09;apiserver将 Deployment 持久化到etcd&#xff1b;etcd与apiserver进行一次http通信。controller manager通过watch a…

「Mac畅玩鸿蒙与硬件39」UI互动应用篇16 - 倒计时环形进度条

本篇将带你实现一个倒计时环形进度条应用。用户可以设置倒计时的时间&#xff0c;启动倒计时后&#xff0c;应用会动态显示一个随着时间递减的环形进度条&#xff0c;同时伴有数字倒计时显示。这是结合动画效果和时间管理的实用示例。 关键词 UI互动应用倒计时器环形进度条动…