关于前端布局的基础知识

float 横向布局

float 实现横向布局,需要向横着布局的元素添加float 其值left right

存在问题 如果使用float 所在父级五高度,会导致下方的元素上移

top的高度被吞了

解决方法: 给父级元素设置高度:不推荐,需要给父级一直调高度

我们父级设置overflow:hidden

第二种:给父级设置overflow:hidden 达到父级元素高度随子集元素自适应的变化(推荐)

无法解决的问题:元素均分父级,需要计算而且不一定均分

元素之间的间距均匀分布:需要计算而且不一定均分

书写比较繁琐,代码繁琐

内敛块级元素实现横向布局 需要向横向布局的元素添加display: inline-block ,让其变成内敛块级元素,内敛块级元素特点:不独占一行,对宽高支持

问题: 使用display: inline-block;元素之间有空隙

产生原因,浏览器会把空格换行都当成空白

解决办法:把元素首尾相连不推荐

第二种: 对文字大小处理,给使用display: inline-block的父级元素设置字体大小为0,并且该元素要设置字体大小

无法解决的问题:元素均分父级,需要计算而且不一定均分

元素之间的间距均匀分布:需要计算而且不一定均分

书写比较繁琐,代码繁琐

弹性盒子布局 给要横着布局的父级元素添加display:flex

把内联块级布局的问题直接解决,而且代码也很简便

flex-direction控制弹性盒子内部子元素的排列方式

flex-direction:column 纵向从上到下

flex-direction:reserve 纵向从下到上

flex-direction: row 横向从左到右

flex-direction:row-reserve 横向从右到左

flex-wrap;控制弹性盒子内子元素是否换行

flex-wrap: nowrap 不换行

flex-wrap: wrap 换行

order 设置弹性盒子内子元素排列顺序

值越小越靠前

flex-grow 拉伸

根据比例平分父级(前提是每块的宽度是一样的)

改成宽度800px

自动压缩了,不需要操作默认按宽度比例压缩

flex-shrink也可以用这个来设置压缩的比例

justify-content:控制弹性盒子内元素的分布方式

justify-content: flex-start 代表在排列方向上的开始位置分布

justify-content: flex-end 代表在排列方向上的开结束位置分布

justify-content: center 代表在排列方向上的开中间位置分布

space-between 代表空白均匀放到元素元素之间

space-evently 代表空白均匀放到各个间隙

space- around 代表空白分布元素周围

align-items 控制弹性盒子内在垂直方式上的对齐方式

flex-start顶部对齐

flex-end底部对齐

center 居中对齐

baseline 首行底部对齐

align -content 设置弹性盒子内多行的分布方式

flex-start 所有行靠近顶部,左边

flex-end 所有行在底部,右边

center 所有行剧中

space-between代表空白均匀放到元素元素之间

space- around代表空白分布元素周围

space-evently 代表空白均匀放到各个间隙

相关推荐
小poop2 分钟前
HTML 基础入门:从结构到常用标签详解
前端
jiangliushi63 分钟前
GPT-6.1 Sol 免费用:PowerShell 装 Codex 报“禁止运行脚本 npm.ps1”?一条命令解决
前端·gpt·npm
jimy14 分钟前
C++ 中 xvalue 的 identity 存在哪里?和 lvalue 的 identity 有什么区别?
开发语言·c++·1024程序员节
yujunl10 分钟前
U9 无授权的模式WebAPI开发的总结
开发语言·1024程序员节
计算机魔术师14 分钟前
日均500万亿词元,国内推理速度翻倍却仍落后国外——差距卡在哪
前端
zzu123zsw14 分钟前
为什么 Python 做 Agent 总在并发中崩溃?拆解 Blockcell 在 Rust 下的 Host-Cell 隔离与自愈状态机
开发语言·python·rust·大模型·ai agent
excel19 分钟前
用 Node.js 搭建一套可持续获客的 SEO 内容系统:前端工程师 30 天实战方案
前端·后端
yma1630 分钟前
从零搭建 P2P 聊天室:yma16.cloud 在线工具实战
前端·1024程序员节
xiaoye-duck44 分钟前
《C++ 项目:手写大模型接入 SDK》Provider分析与实现
开发语言·c++·语言模型
denlaku1 小时前
JDK 22 新特性详解
java·开发语言