当前位置: 首页 > 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.rkmt.cn/news/1403840.html

相关文章:

  • 成都制造企业插单太频繁,AI该先算哪些优先级?
  • 魔兽争霸3终极优化指南:5分钟告别画面拉伸和帧率限制
  • 从gitbus项目看Git仓库作为隐式控制平面的安全风险与防御
  • 大规模MIMO系统能效优化:低精度ADC与检测算法的协同设计
  • PyQt-Fluent-Widgets:让Python桌面应用拥有Windows 11现代化界面的终极指南
  • 模拟神经网络芯片:纳瓦级功耗实现生物医学边缘AI分类
  • Python学习第47天:ORM与数据库操作
  • 如何在3天内搭建你的专属缠论量化分析系统:从零到实战的完整指南
  • FanControl终极指南:3步实现Windows电脑风扇静音控制
  • 免费、隐私、环保!Ollama本地AI优势多,你还不用?
  • BLE 5.1室内定位实战:基于真实PPE追踪数据集的算法开发与性能分析
  • HoRain云--Claude Code 控制 Chrome 浏览器
  • 3分钟部署指南:跨浏览器批量URL管理的高效解决方案
  • 华硕笔记本终极性能管家:GHelper轻量控制工具完整使用指南
  • 【2026-05-25】丐版家旅
  • 3分钟搞定音乐加密文件:Unlock Music 完全指南
  • 钉钉消息防撤回补丁:职场沟通的终极信息保护方案
  • 锋芒剪辑-dota2自动剪辑微信小程序
  • 5分钟快速上手B站视频下载神器:BiliDownloader完整使用指南
  • 佛山1688代运营做家装建材类目哪家性价比高
  • 重庆黄金回收为什么别选小店?对比宝奢、典表,合扬优势更明显 - 合扬奢侈品交易中心
  • 逆衬垫Z箍缩:实验室可控辐射冲击波平台的设计与物理验证
  • 基于LPC-FCN的轻量级触觉纹理识别:边缘计算中的高效解决方案
  • 玉溪市红塔区黄金回收实战指南:991元/克大盘价下,这六家机构值得收藏 - 润富黄金珠宝行
  • 免费电子课本获取终极指南:3分钟搞定国家智慧教育平台教材下载
  • 如何用RuoYi-Ant在5分钟内构建企业级后台管理系统
  • 情境感知与自适应学习:UTROLL/KANTEAM移动语言学习系统架构解析
  • MATLAB实战:从频谱到1/3倍频程的声学信号全流程解析
  • 【2026 版 收藏】35 岁程序员遇职场寒冬?拥抱大模型 AI,普通人也能逆风翻盘
  • 多模态AI入门:小白也能学会的“五感融合”技术,快来收藏学习!