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


相关文章
|
10月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
776 0
|
自然语言处理 前端开发 JavaScript
Playwright系列课(2) | 元素定位四大法宝:CSS/文本/XPath/语义化定位实战指南
本文是Playwright系列第二课,详解元素定位四大核心技术:CSS选择器、文本定位、XPath和语义化定位,结合实战演示各方法应用场景。重点解析Playwright智能定位器(Locator)的独特优势——自动等待与重试机制,通过预检元素可操作性(可见/可点击)有效规避网络延迟导致的脚本失效,显著提升自动化测试稳定性。
|
前端开发
|
前端开发 容器
最新CSS3定位元素
【8月更文挑战第28天】
249 5
|
前端开发 容器
css中使用定位实现吸顶效果
css中使用定位实现吸顶效果
382 2
|
前端开发
HTML+CSS基础知识(5)相对定位、绝对定位、固定定位
这篇文章介绍了HTML和CSS中的三种定位方式:相对定位、绝对定位和固定定位,并通过代码示例展示了它们如何影响元素在页面上的布局和位置。
HTML+CSS基础知识(5)相对定位、绝对定位、固定定位
CSS_定位_网页布局总结_元素的显示与隐藏
CSS_定位_网页布局总结_元素的显示与隐藏
184 0
|
前端开发 编译器
CSS定位(如果想知道CSS有关定位的知识点,那么只看这一篇就足够了!)
CSS定位(如果想知道CSS有关定位的知识点,那么只看这一篇就足够了!)
|
前端开发
css实用技巧——给锚点定位添加偏移
css实用技巧——给锚点定位添加偏移
552 3
|
前端开发 开发者
CSS属性选择器:精确定位元素的利器
CSS属性选择器:精确定位元素的利器
368 4

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    616
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    478
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    479
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    313
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    587
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    776
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1517
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    351
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1221
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    578