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

flex布局

flex简介

任何一个容器指定为flex布局

实现条件:至少有后代关系的

弹性布局

特点:2根主轴线

  • 主轴,默认从左到右(水平)

  • 交叉轴:默认从上到下(垂直)

父元素(开启弹性布局),子元素就是在里面灵活的布局

父元素常用的属性

display

flex布局

justify-content(主轴设置)

justify-content: flex-start    默认靠左flex-end      靠右center        水平居中 ✅最常用space-between 两端对齐,中间自动均分space-around  每个项目左右有间距space-evenly  所有间距完全相等 ✅最好用

水平居中案例

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box1 {/* 开启flex布局 */display: flex;/* x轴居中 */justify-content: center;}.box2 {/* width: 200px; */height: 100px;border: solid green 3px;}</style>
</head><body><div class="box1"><div class="box2">我是第一个div</div><div class="box2">我是第二个div</div><div class="box2">我是第三个div</div><div class="box2">我是第四个div</div></div>
</body></html>

效果图

img

align-items(y轴设置的)

align-items:flex-start    顶部flex-end      底部center        垂直居中 ✅最常用stretch       拉伸铺满(默认)

垂直居中,需要设置高度

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box1 {width: 100%;height: 600px;display: flex;justify-content: center;align-items: flex-end;}.box2 {/* width: 200px; */height: 100px;border: solid green 3px;}</style>
</head><body><div class="box1"><div class="box2">我是第一个div</div><div class="box2">我是第二个div</div><div class="box2">我是第三个div</div><div class="box2">我是第四个div</div></div>
</body></html>

img

子元素常用属性

flex属性

flex: 1 占满剩余空间,多个子元素写这个的,自动均分宽度

因此的话就不需要设置这个宽度了,根据浏览器的大小自动的调节宽度这些

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box1 {/* 父元素开启了flex布局 */display: flex;}.box2 {/* 可以注释这个宽度,因为后面开启了flex 1 *//* width: 200px; */height: 100px;border: solid green 3px;/* flex 1 每个占一份,自动占满,因此的话,不需要这个宽度的设置了,会随着页面的大和小自动的调节 */flex: 1;}</style>
</head><body><div class="box1"><div class="box2"></div><div class="box2"></div></div>
</body></html>

img

问题

为什么2个div 一个在上,一个在下呢?

2个a,却都是在一行的

这个就是块元素和行内元素

块元素:就是占一行,这个宽度都是被占用的

行内元素:就是都在一行上面

display其他选项:

none 隐藏元素,不占空间

block 设置为块级元素,独占一行,可设置宽高

inline 设置为行内元素,同行显示,不可设置宽高

none,隐藏元素,不会占用空间,比如,div,不会独占一行了

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box1 {width: 200px;height: 100px;background-color: green;/* div取消块元素 */display: none;}.box2 {width: 200px;height: 50px;background-color: black;}</style>
</head><body><div class="box1"></div><div class="box2"></div>
</body></html>

效果图就是:第二个div会把第一个div覆盖掉

img

将div设置为行内元素

设置为inline

设置为inline后,div可以和其他的元素显示在一行上,不好的地方就是宽度和高度设置无效

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box1 {width: 100px;height: 100px;background-color: green;display: none;}.box2 {width: 100px;height: 100px;background-color: red;display: inline;}</style>
</head><body><div class="box1">第一个div</div><div class="box2">第二个div</div><a href="">点击我跳转百度</a>
</body></html>

img

将a设置为块级元素

就是可以设置宽高,但是会独占一行

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box1 {width: 100px;height: 100px;background-color: green;display: none;}.box2 {width: 100px;height: 100px;background-color: red;display: inline;}a {display: block;width: 100px;height: 100px;line-height: 100px;background-color: black;}</style>
</head><body><div class="box1">第一个div</div><div class="box2">第二个div</div><a href="">点击我跳百度</a>
</body></html>

img

div不设置宽度

就是独占一行的

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {/* 没有设置这个宽度 */background-color: black;height: 100px;}</style>
</head><body><div></div>
</body></html>

img

http://www.jsqmd.com/news/897198/

相关文章:

  • 2026 在线式乳化机(分体式_间歇式_连续式_管线式)选型参考:5 家主流品牌横向对比(含江苏思峻 SGN) - 品牌推荐大师1
  • 终极指南:使用OpCore Simplify快速构建OpenCore EFI的完整解决方案
  • CSS 逻辑属性:打破物理方向的限制
  • 鸣潮自动化助手ok-ww完整指南:解放双手的终极游戏辅助工具
  • 大规模MIMO系统能效优化:低精度ADC与检测算法的协同设计
  • AI怎么抠图去背景?2026保姆级教程+抠图工具推荐 - 软件小管家
  • 2026年天津短视频代运营与AI获客完全指南:工厂制造业B端精准引流转化方案 - 年度推荐企业名录
  • UFS 2.2 协议架构深度解析:从分层模型到系统启动
  • 沙海筑能,智塑展台 ——2026 迪拜能源展设计搭建优选 - 资讯焦点
  • 如何在Windows电脑上快速安装安卓应用:APK安装器完整指南
  • Maccy:5分钟掌握macOS剪贴板管理终极指南
  • 2026昆山PLC培训机构排行:核心维度与标杆名录解析 - 互联网科技品牌测评
  • HoRain云--Claude Code 控制 Chrome 浏览器
  • Claude突然限流、Gemini拒绝金融问答、Qwen3中文微调失效?——ChatGPT替代方案紧急预警(附72小时迁移应急预案)
  • chan.py框架:缠论量化分析的技术架构演进与工程实现
  • 基于fastAPI--- 对接oss
  • DOP值仿真与几何布局优化:从理论到实践
  • 【2026-05-25】丐版家旅
  • 多哈希PoW的ASIC抗性评估:从理论到硬件实现的深度剖析
  • AR 巡检落地难?看这 6 个案例
  • 2026青岛纹眉怎么选?多门店从业者,详解纹绣世家高人气原因 - 小艾信息发布
  • 2026年氢能计量流量计厂家品牌一览:国产与进口怎么选?氢能流量计知名厂家 - 流量计品牌
  • Obsidian插件汉化终极指南:三步实现中文界面,让笔记工具真正属于你
  • LeetDown技术解析:基于checkm8漏洞的iOS设备降级解决方案
  • ReentrantLock 公平锁 非公平锁底层实现原理
  • qmc-decoder:专业级QQ音乐加密格式转换工具,3步解锁你的音乐收藏
  • 从理论到实践:使用sklearn解锁神经网络反向传播的鸢尾花分类实战
  • 锋芒剪辑-dota2自动剪辑微信小程序
  • JiYuTrainer技术实现:Windows系统级进程控制与反监控机制解析
  • 情境感知与自适应学习:UTROLL/KANTEAM移动语言学习系统架构解析