From 3e537149dd099df7f1d4034571134fe8a5be92ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=BB=84=E6=B5=A9=E5=86=89?= <3027237339@qq.com>
Date: Mon, 21 Oct 2024 07:52:33 +0800
Subject: [PATCH] 1018
---
...32\344\275\215\345\261\236\346\200\247.md" | 175 ++++++++++++++++++
1 file changed, 175 insertions(+)
create mode 100644 "\351\273\204\346\265\251\345\206\211/20241018\347\254\224\350\256\260-\345\256\232\344\275\215\345\261\236\346\200\247.md"
diff --git "a/\351\273\204\346\265\251\345\206\211/20241018\347\254\224\350\256\260-\345\256\232\344\275\215\345\261\236\346\200\247.md" "b/\351\273\204\346\265\251\345\206\211/20241018\347\254\224\350\256\260-\345\256\232\344\275\215\345\261\236\346\200\247.md"
new file mode 100644
index 0000000..5ede2ba
--- /dev/null
+++ "b/\351\273\204\346\265\251\345\206\211/20241018\347\254\224\350\256\260-\345\256\232\344\275\215\345\261\236\346\200\247.md"
@@ -0,0 +1,175 @@
+## 定位属性
+
+CSS的定位属性有三种,分别是绝对定位、相对定位、固定定位。
+
+```
+ position: absolute;
+
+ position: relative;
+
+ position: fixed;
+
+```
+
+## 相对定位
+
+**相对定位**:让元素相对于自己原来的位置,进行位置调整(可用于盒子的位置微调)。
+
+在学习背景属性中有如下格式:
+
+```
+ background-position:向右偏移量 向下偏移量;
+```
+
+但这回的定位属性,是通过如下格式:
+
+```
+ position: relative;
+ left: 50px;
+ top: 50px;
+```
+
+相对定位的举例:
+
+```html
+
+
+
+
+
+
+
+
+ Document
+
+
+
+
+
+
+ 1
+ 2
+
+
+
+
+```
+
+### 相对定位不脱标
+
+**相对定位**:不脱标,老家留坑,**别人不会把它的位置挤走**。
+
+
+### 相对定位的用途
+
+如果想做“压盖”效果(把一个div放到另一个div之上),一般**不用**相对定位来做。相对定位,就两个作用:
+
+- (1)微调元素
+- (2)做绝对定位的参考,子绝父相
+
+### 相对定位的定位值
+
+- left:盒子右移
+
+- right:盒子左移
+
+- top:盒子下移
+
+- bottom:盒子上移
+
+PS:负数表示相反的方向。
+
+
+## 绝对定位
+
+**绝对定位**:定义横纵坐标。原点在父容器的左上角或左下角。横坐标用left表示,纵坐标用top或者bottom表示。
+
+格式举例如下:
+
+```
+ position: absolute; /*绝对定位*/
+ left: 10px; /*横坐标*/
+ top/bottom: 20px; /*纵坐标*/
+```
+
+### 绝对定位脱标
+
+**绝对定位的盒子脱离了标准文档流。**
+
+所以,所有的标准文档流的性质,绝对定位之后都不遵守了。
+
+绝对定位之后,标签就不区分所谓的行内元素、块级元素了,不需要`display:block`就可以设置宽、高了。
+
+### 绝对定位的参考点(重要)
+
+(1)如果用**top描述**,那么参考点就是**页面的左上角**,而不是浏览器的左上角
+
+(2)如果用**bottom描述**,那么参考点就是**浏览器首屏窗口尺寸**(好好理解“首屏”二字),对应的页面的左下角:
+
+### 以盒子为参考点
+
+一个绝对定位的元素,如果父辈元素中也出现了已定位(无论是绝对定位、相对定位,还是固定定位)的元素,那么将以父辈这个元素,为参考点。
+
+
+(1) 要听最近的已经定位的祖先元素的,不一定是父亲,可能是爷爷:
+
+```
+ 相对定位
+
没有定位
+
绝对定位,将以box1为参考,因为box2没有定位,box1就是最近的父辈元素
+
+
+
+```
+
+```
+ 相对定位
+
相对定位
+
绝对定位,将以box2为参考,因为box2是自己最近的父辈元素
+
+
+```
+
+(2)不一定是相对定位,任何定位,都可以作为儿子的参考点:
+
+子绝父绝、**子绝父相**、子绝父固,都是可以给儿子定位的。但是在工程上,如果子绝、父绝,没有一个盒子在标准流里面了,所以页面就不稳固,没有任何实战用途。
+
+**工程应用:**
+
+“**子绝父相**”有意义:这样可以保证父亲没有脱标,儿子脱标在父亲的范围里面移动。于是,工程上经常这样做:
+
+> 父亲浮动,设置相对定位(零偏移),然后让儿子绝对定位一定的距离。
+
+(3)绝对定位的儿子,无视参考的那个盒子的padding。
+
+
+### 让绝对定位中的盒子在父亲里居中
+
+我们知道,如果想让一个**标准流中的盒子在父亲里居中**(水平方向看),可以将其设置`margin: 0 auto`属性。
+
+可如果盒子是绝对定位的,此时已经脱标了,如果还想让其居中(位于父亲的正中间),可以这样做:
+
+> left:50%; margin-left:负的宽度的一半
+
+先将图片移动至中线处,再将图片的一半退回。
--
Gitee