定位基准:
相对定位:元素相对于其原始位置进行定位。即使进行了移动,元素仍然占据原来的空间。
绝对定位:元素相对于其最近的已定位祖先元素定位,如果没有已定位的祖先元素,则相对于最初的包含块(通常是body)。绝对定位的元素与文档流无关,因此不占据空间。
对文档流的影响:
相对定位:元素移动后,原本所占的空间仍保留,后面的元素不可占据该空间。
绝对定位:元素的位置与文档流无关,因此不占据空间。后面的元素会占据绝对定位元素原来的位置。
层次分级:
相对定位:元素的z-index不会影响其他元素的位置。
绝对定位:可以通过z-index属性来控制层的堆叠顺序,影响其他元素的位置。
综上所述,绝对定位使元素脱离文档流,可以通过top、bottom、left、right属性精确定位,并且可以通过z-index控制层次分级。相对定位则使元素相对于其原始位置进行移动,但仍然占据原来的空间,并且其z-index不会影响其他元素的位置。
绝对定位:可以实现一个标签展示在页面的任意位置,设置后将不受文档流的控制,与浮动类似,不占用空间。需要有参照元素,参照被设为相对定位或绝对定位的标签,若是没有设定参照标签,就会参照body。
相对定位:主要是给绝对定位设置参照物, 绝对定位和相对定位经常搭配使用。
使用相对定位与绝对定位之后可以达到让元素在页面任意位置放置且不会影响达到其它元素的放置与布局的效果。
1、坐标精确:绝对定位允许使用精确的坐标(如像素值或百分比值)来定位元素,这使得页面元素的布局更加灵活和精确。
2、脱离文档流:绝对定位的元素会脱离文档流,不会受到文档中其他元素的影响。这意味着元素可以自由地重叠和放置在文档中的任何位置,而不会影响其他元素的布局。
3、可伸缩性:由于绝对定位的元素脱离了文档流,因此它们在不同设备上的显示效果基本相同。这使得绝对定位在响应式设计中具有很好的可伸缩性。
4、灵活性:绝对定位允许元素根据需要进行自由布局,这使得页面设计更加灵活和多样化。同时,绝对定位还可以与其他布局技术(如浮动、定位和 Flexbox)结合使用,实现更复杂的页面布局。
1. 保持文档流:相对定位不会将元素从文档流中脱离,元素仍然占据原来的空间。这意味着其他元素的布局不会受到影响,保持了整体布局的稳定性。
2. 精确控制位置:通过设置偏移属性(如top、right、bottom、left),可以精确地控制元素相对于原始位置的位置。这使得在网页布局中进行微调变得非常方便。
3. 不会影响其他元素:相对定位只会影响自身元素,不会影响其他元素的位置和布局。这使得在调整元素位置时不会对其他元素产生意外的影响。
4. 简单易用:相对定位的使用非常简单,只需为元素设置`position: relative;`属性,并通过偏移属性进行位置微调。相对定位是CSS中最基本的定位属性之一,易于理解和掌握。