在我们构建一个基础页面时,如果只是堆放一堆标签的话页面会显得杂乱不堪,这时候我们需要用到布局元素,来帮助我们调整一下页面布局的结构。
下面我会为大家分享一些HTML里布局所要用到的知识。
相对定位
1) 相对的是自身原有的位置
2) 相对定位移动后,会保留原有位置
3) 不会影响文档流
语法示例:
position: relative;
/* 1) 开启该元素的定位*/
/*书写具体的位置*/
/*left: 300px;*/
/*top: 300px;*/
绝对定位
1)脱离当前文档流,使元素"飘"起来
2) 绝对定位 的参考值: 会去找具有相对定位属性的父元素
如果没有,继续往上找,直到整个文档
语法示例:
position: absolute;
left: 300px;
top: 300px;
=============================================================
标准盒模型:
元素(块元素或者内联块)的实际大小 = 内容 + padding + border
width/height 只是去设置盒模型中的内容区域
之前所学习的对齐方式: text-align line-height vertical-align
全部都是在内容区域中的对齐
而盒模型的属性是针对整个内容区域来布局调整
padding: 内间距
作用: 调整调整自身 子元素 的位置
一个值时调整:上下左右
两个值时调整:上下、左右
三个值时调整:上、左右、下
四个值时调整:上、右、下、左
注意点:会增加元素的实际占位大小
语法示例:
padding: 20px 10px;
margin: 外间距
作用: 调整元素自身和其他元素之间的距离
一个值时调整:上下左右
两个值时调整:上下、左右
三个值时调整:上、左右、下
四个值时调整:上、右、下、左
注意点:
1. 左右间距中,外间距是相加的和
2. 上下间距中,相加的和
备注: 1)会出现上下间距合并,取最大值。
2)auto: 根据自身所占位置,自动居中
自身必须有宽高
inline-block 或 float 都会使auto失效
需要填写具体值来调整元素位置
语法示例:
margin: 20px 10px;
============================================================
float: 浮动
属性值:none: 不浮动; 默认
left: 向左浮动;
right: 向右浮动;
影响:
1)自身的父元素无法获取宽高
2)后续的元素会自动补位
3)浮动会脱离当前文档流,覆盖标准流的元素
4)auto会失效
5)块元素可以横排显示(失去独占一行的特性)
6)行元素可以设置宽度和高度
7)除了auto以外,依然支持margin
8)提升半个层级 z-index
z-index:提升层级,在使用定位时,可能会出现元
素之间相互覆盖的情况,使用z-index
可以调整那个元素在上那个元素在下
备注: 使用浮动布局,那么一定要清除浮动,
否则会出现不可预知的错误。
清除浮动的常见方法有以下几种:
1. 给父级设定宽高
缺点: 父级如果作为容器,直接就写死了,后续元素添加会出问题,而且
无法解决元素重叠的问题 不推荐使用! 了解即可
2. 使用overflow :hidden 属性 (超出内容区域的部分,隐藏)
给父元素添加
缺点:如果内容需要超出,或者较多时.需求发生冲突
如果内容没有超过,推荐使用。 较为方便
适用场景: 浮动元素较少.
3. 使用clear: both 属性;
clear: 是否允许浮动
left: 不允许左侧有浮动
right: 不允许右侧有浮动
both: 不允许两侧有浮动
缺点: 需要写一个空标签来绑定 clear属性. 这个空标签没
# 最后
**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**
**深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。**
**因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/df5f11f4d3c5717c5aa176a78a430bdf.jpeg)
![](https://img-blog.csdnimg.cn/img_convert/e77255a76910ad078bb381c588749eed.png)
![](https://img-blog.csdnimg.cn/img_convert/aab5e86b3c41235fdc18fe04c7e2d873.png)
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618191877)
**由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**
18210)]
**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
[**如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!**](https://bbs.csdn.net/topics/618191877)
**由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!**