CSS中的绝对定位和相对定位

简介: CSS中的绝对定位和相对定位

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站点击跳转浏览。


1,理解绝对定位和相对定位


要理解定位你要先理解文档流,在文档流中相对定位的元素占有位置,而且会影响后面的元素(块元素、行内块元素),比如两个div并排,另外一个会换行。


<div>111</div>
<div>222</div>


而绝对定位就是把该元素从文档流中踢出,不会占用文档流的位置,也不会影响后面的元素。


<div style="position: absolute;">111</div>
<div>222</div>


如上面的实例,111和222会重叠,审查元素你会发现222有实际位置,111没有位置。他是使用left,right,top,bottom等属性相对于其最接近的一个最有定位设置的父对象进行绝对定位,如果不存在这样的父对象,则依据body对象。而其层叠通过z-index属性定义 。
网页布局涉及到各种设备各种分辨率下的兼容,所以就注定绝对定位不能适用于大部分场景
。。所以布局只能依赖于上级元素的位置,而不能依赖于设备的高度和宽度。

适合绝对定位的场景主要是一些页面辅助功能


区别:绝对定位会脱离文档流,文档中不保留其定位前的位置,相对定位不会脱离文档流,定位前的位置依然保留。


2,什么时候用


实际上很少单独用到绝对定位,因为分辨率或窗口大小一旦改变,绝对定位的东西就有可能会移动位置影响设计效果,你是无法确定所有人的分辨率都和你制作页面使用的分辨率是一样的。

所以:通常都是相对定位的父元素里面嵌套一个或多个绝对定位的子元素,这用就能避免分辨率和窗口大小的改变而影响设计效果。


3,实际应用(子绝父相)


子绝父相是什么呢?

子级是绝对定位的话,父级要用相对定位。

1.子级绝对定位,不会占有位置,可以放到父盒子里面的任何一个地方,不会影响其他的兄弟盒子 。

2.子盒子的运动范围必须在父盒子里面移动,因此此时父盒子需要加定位(相对或绝对或固定定位)。

3.因为父盒子需要占有位置,放子盒子能浮在上面,因此父盒子应该是相对定位。


<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
      #father{
        width: 300px;
        height: 300px;
        background-color: coral;
        position: relative;
        border: solid 3px red;
      }
      #son1{
        width: 100px;
        height: 100px;
        background-color: aqua;
        position: absolute;
        left: 20px;
        top: 50px;
      }
      #son2{
        width: 100px;
        height: 100px;
        background-color: chartreuse;
        position: absolute;
        left: 40px;
        top: 90px;
      }
    </style>
  </head>
  <body>
    <div id="father">
      I am father
    </div>
    <div id="son1">
      I am son1
    </div>
    <div id="son2">
      I am son2
    </div>
  </body>
</html>


子级绝对定位,不会占有位置,可以放到父盒子的任何地方

参考https://blog.csdn.net/fighting_dream/article/details/113102281


相关文章
|
21天前
|
前端开发
|
2月前
|
前端开发 容器
最新CSS3定位元素
【8月更文挑战第28天】
20 5
|
2月前
|
前端开发
HTML+CSS基础知识(5)相对定位、绝对定位、固定定位
这篇文章介绍了HTML和CSS中的三种定位方式:相对定位、绝对定位和固定定位,并通过代码示例展示了它们如何影响元素在页面上的布局和位置。
HTML+CSS基础知识(5)相对定位、绝对定位、固定定位
|
2月前
|
前端开发 容器
css中使用定位实现吸顶效果
css中使用定位实现吸顶效果
39 2
|
2月前
|
前端开发 容器
解锁CSS定位奥秘,从迷茫到精通,让你的网页布局“稳如老狗”,引领前端新潮流!
【8月更文挑战第23天】本文深入探讨了Web前端开发中CSS定位的三大基石:相对定位、绝对定位与固定定位。通过具体示例,展示了各种定位方式的特点及应用场景。相对定位可在不影响布局的情况下微调元素位置;绝对定位使元素完全脱离文档流,适用于精确控制位置的需求;固定定位则确保元素始终固定于浏览器窗口特定位置,不受页面滚动影响。这些技巧对于实现复杂网页布局至关重要。
39 0
|
2月前
|
前端开发 UED 开发者
神秘的 CSS 属性 “position: sticky” 究竟有何魔力?带你彻底理解粘性定位的奇妙世界!
【8月更文挑战第20天】在前端开发中,CSS的粘性定位(`position: sticky`)是一种结合了相对与固定定位优点的强大工具。它使元素能在特定条件下相对定位,达到指定阈值时转为固定定位,非常适合制作“吸顶”导航栏等。例如,设置`position: sticky; top: 0;`能让导航栏滚动至顶部时固定显示。此特性不仅限于导航栏,还可应用于侧边栏等,增强布局灵活性与用户体验。尽管如此,仍需注意不同浏览器间的兼容性和可能的布局冲突。
48 0
|
3月前
|
前端开发
css实用技巧——给锚点定位添加偏移
css实用技巧——给锚点定位添加偏移
95 3
|
3月前
|
前端开发
你不知道的css——2. 百分比高度失效,绝对定位和非绝对定位元素的宽高百分比计算方法的不同
你不知道的css——2. 百分比高度失效,绝对定位和非绝对定位元素的宽高百分比计算方法的不同
41 1
|
3月前
|
前端开发
css实用技巧——绝对定位元素的水平垂直居中
css实用技巧——绝对定位元素的水平垂直居中
35 2
|
4月前
|
前端开发 开发者
CSS属性选择器:精确定位元素的利器
CSS属性选择器:精确定位元素的利器