当前位置: 首页 > news >正文

弹性盒子布局

目录

  • 一、弹性盒子属性
  • 二、认识flex的坐标轴
  • 三、简单学习父级盒子属性
  • 三、属性说明
    • 3.1、flex-grow

一、弹性盒子属性

说明:
div的默认样式:display:block 块盒子
display:flex弹性盒子(可以控制下级盒子的位置)

当两种盒子单独出现时,效果时一样的
但是在里面加入块盒子时就不一样了
在这里插入图片描述

二、认识flex的坐标轴

当flex出现时,就会产生一个坐标轴
在这里插入图片描述

三、简单学习父级盒子属性

父级盒子默认属性(控制下级盒子属性):(父级盒子为粉色)

/* 弹性方向:行(row)、列(column) 控制下级盒子排列方式*/
flex-direction: row;
/* 对齐内容:弹性起点(flex-start)  控制下级盒子主轴的位置*/
justify-content: flex-start;
/* 对齐条目:拉伸(stretch) 控制下级盒子在交叉轴的位置 */
align-items: stretch;

在这里插入图片描述

/* 弹性方向:行(row)、列(column) 控制下级盒子排列方式*/
flex-direction: column;
/* 对齐内容:弹性起点(flex-start)  控制下级盒子主轴的位置*/
justify-content: flex-start;
/* 对齐条目:拉伸(stretch) 控制下级盒子在交叉轴的位置 */
align-items: stretch;

在这里插入图片描述

/* 弹性方向:行(row)、列(column) 控制下级盒子排列方式*/
flex-direction: column;
/* 对齐内容:弹性起点(flex-start)  控制下级盒子主轴的位置*/
justify-content: flex-start;
/* 对齐条目:拉伸(stretch) 控制下级盒子在交叉轴的位置 */
align-items: stretch;

在这里插入图片描述

/* 弹性方向:行(row)、列(column) 控制下级盒子排列方式*/
flex-direction: column;
/* 对齐内容:弹性起点(flex-start)  控制下级盒子主轴的位置*
justify-content: center;
/* 对齐条目:拉伸(stretch) 控制下级盒子在交叉轴的位置 */
align-items: center;

在这里插入图片描述

三、属性说明

3.1、flex-grow

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>body{margin: 0 0;}.father{width: 100%;height: 100vh;display: flex;}.child{/* 每一个子元素使用父元素剩余的空间(有一定隐患) */flex-grow: 1;}</style>
</head>
<body><div class="father"><div class="child" style="background: red;"></div><div class="child" style="background: blue;"></div><div class="child" style="background: yellow;"></div></div>
</body>
</html>

效果存在的隐患:
若某一个元素内有值,那么均分就是从剩余空间分,这时有内容的元素内将分得更多空间

<div class="father"><div class="child" style="background: red;">0000000000000000000000000000000000000000000000000000000000000</div><div class="child" style="background: blue;"></div><div class="child" style="background: yellow;"></div>
</div>

在这里插入图片描述

解决方案:

<style>body{margin: 0 0;}.father{width: 100%;height: 100vh;display: flex;}.child{/* 每一个子元素使用父元素剩余的空间(有一定隐患) */flex-grow: 1;/* 增长的起跑线同意设置为0,默认值为auto */flex-basis: 0;}
</style>

在这里插入图片描述
综合简写后:

<style>body{margin: 0 0;}.father{width: 100%;height: 100vh;display: flex;}.child{/* 每一个子元素使用父元素剩余的空间(有一定隐患) *//* flex-grow: 1; *//* 增长的起跑线同意设置为0,默认值为auto *//* flex-basis: 0; *//* 复合属性,增长为1,压缩为0 */flex: 1 0;}
</style>
http://www.lryc.cn/news/22319.html

相关文章:

  • C# Sqlite数据库加密
  • 高压放大器在声波谐振电小天线收发测试系统中的应用
  • 锁相环的组成和原理及应用
  • [C++]string类模拟实现
  • 一个更适合Java初学者的轻量级开发工具:BlueJ
  • 从程序员到项目组长,要经历六重修炼
  • 我的 System Verilog 学习记录(5)
  • 多芯片设计 Designing For Multiple Die
  • 2022年全国职业院校技能大赛(中职组)网络安全竞赛试题A(10)
  • 数据结构-简介
  • python装饰器及其用法
  • Appium自动化测试之启动时跳过初始化设置
  • JavaScript DOM【快速掌握知识点】
  • 不需要高深技术,只需要Python:创建一个可定制的HTTP服务器!
  • 渗透测试常用浏览器插件汇总
  • 社区1月月报|OceanBase 4.1 即将发版,哪些功能将会更新?
  • Javascript的API基本内容(二)
  • ChatGPT热度“狂飙”,OceanBase也去找它唠了唠
  • HTTP协议基础知识点扫盲;HTTPS协议及密码学基础
  • 【golang/go语言】Go语言之反射
  • Java+Swing+Mysql实现超市管理系统
  • 华为OD机试题,用 Java 解【机器人走迷宫】问题
  • 软件测试基本概念
  • 数学建模介绍
  • 【LVGL】学习笔记--(2)GUI Guider的使用
  • OpenCV-PyQT项目实战(6)项目案例02:滚动条应用
  • 3 决策树及Python实现
  • 小程序和Vue+uniapp+unicloud培训课件
  • C语言--指针进阶2
  • 【步进电机和 Arduino】