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


相关文章
|
6天前
|
前端开发 容器
《CSS 简易速速上手小册》第2章:CSS 布局与定位(2024 最新版)
《CSS 简易速速上手小册》第2章:CSS 布局与定位(2024 最新版)
22 2
|
6天前
|
前端开发
【前端|CSS系列第3篇】CSS盒模型、浮动及定位
【前端|CSS系列第3篇】CSS盒模型、浮动及定位
|
5天前
|
前端开发
css中如何解决绝对定位元素被遮挡的问题
css中如何解决绝对定位元素被遮挡的问题
21 3
|
6天前
|
前端开发 开发者 容器
【专栏:CSS基础篇】CSS定位与布局:从静态到浮动、定位
【4月更文挑战第30天】本文介绍了CSS定位与布局的基础,包括静态、相对、绝对、固定定位以及浮动。静态定位遵循HTML顺序,相对定位可在正常位置基础上偏移,不占用额外空间。绝对定位基于最近已定位祖先元素定位,脱离文档流。固定定位相对于浏览器窗口定位,无视页面滚动。浮动用于文字环绕图片等,可能导致父元素高度塌陷。Flexbox布局提供更灵活的元素排列和对齐方式,适配各种复杂布局需求。理解并掌握这些布局技术能提升网页设计的灵活性和响应性。
|
6天前
|
前端开发 开发者
【专栏:CSS基础篇】CSS选择器详解:精准定位网页元素
【4月更文挑战第30天】本文介绍了CSS选择器在Web开发中的重要性,详细阐述了基础选择器(元素、类、ID、属性和伪类/伪元素)及复杂选择器(后代、子元素、相邻兄弟和一般兄弟)的用法。通过理解并巧妙运用这些选择器,开发者能更高效地控制页面样式,提高代码的可维护性。CSS预处理器如Sass、LESS进一步增强了选择器的功能,助力创建优雅且强大的样式表,实现精准的网页设计。
|
6天前
|
XML 前端开发 JavaScript
CSS中动画、过渡、定位、浮动的作用
CSS中动画、过渡、定位、浮动的作用
|
6天前
|
前端开发 容器
css样式元素的相对定位,绝对定位,固定定位等元素定位运用技巧详解
css样式元素的相对定位,绝对定位,固定定位等元素定位运用技巧详解
|
6天前
|
前端开发
css中定位有几种,有什么区别
css中定位有几种,有什么区别
13 3
|
6天前
|
前端开发 JavaScript 容器
CSS属性:定位属性+案例讲解:博雅互动 前端开发入门笔记(五)
CSS属性:定位属性+案例讲解:博雅互动 前端开发入门笔记(五)
22 1
|
6天前
|
前端开发 JavaScript 定位技术
css3浮动定位
css3浮动定位
44 0