首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

css绝对定位和相对定位

CSS 绝对定位和相对定位

基础概念

相对定位(Relative Positioning)

  • 相对定位是指元素相对于其正常位置(即静态定位)进行偏移。
  • 使用 position: relative; 来实现。
  • 元素的原始位置会被保留,只是视觉上发生了偏移。

绝对定位(Absolute Positioning)

  • 绝对定位是指元素相对于最近的非 static 定位的祖先元素进行定位。
  • 使用 position: absolute; 来实现。
  • 如果没有非 static 定位的祖先元素,则相对于初始包含块(通常是视口)进行定位。
  • 元素的原始位置会被移除,完全根据定位属性进行布局。

相关优势

相对定位的优势

  • 不会脱离文档流,不影响其他元素的布局。
  • 可以作为绝对定位元素的参考点。

绝对定位的优势

  • 可以精确控制元素的位置。
  • 可以将元素从文档流中移除,实现复杂的布局效果。

类型

  • 静态定位(Static Positioning):默认的定位方式,元素按照正常的文档流进行布局。
  • 相对定位(Relative Positioning):元素相对于其正常位置进行偏移。
  • 绝对定位(Absolute Positioning):元素相对于最近的非 static 定位的祖先元素进行定位。
  • 固定定位(Fixed Positioning):元素相对于视口进行定位,滚动页面时位置不变。
  • 粘性定位(Sticky Positioning):元素在滚动到某个位置时变为固定定位。

应用场景

相对定位的应用场景

  • 微调元素位置。
  • 作为绝对定位元素的参考点。

绝对定位的应用场景

  • 创建弹出框、工具提示等需要脱离文档流的元素。
  • 实现复杂的布局效果,如悬浮导航栏、侧边栏等。

常见问题及解决方法

问题1:绝对定位元素超出父容器范围

  • 原因:绝对定位元素脱离文档流,不受父容器宽高的限制。
  • 解决方法
  • 解决方法

问题2:绝对定位元素没有正确对齐

  • 原因:可能是没有找到合适的参考点,或者定位属性设置不正确。
  • 解决方法
  • 解决方法

问题3:相对定位元素影响其他元素布局

  • 原因:相对定位元素虽然不会脱离文档流,但偏移后的位置会影响后续元素的布局。
  • 解决方法
  • 解决方法

示例代码

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Positioning Example</title>
  <style>
    .container {
      position: relative;
      width: 300px;
      height: 200px;
      border: 1px solid black;
    }
    .relative {
      position: relative;
      top: 20px;
      left: 20px;
      background-color: yellow;
    }
    .absolute {
      position: absolute;
      top: 50px;
      left: 50px;
      background-color: blue;
      color: white;
    }
  </style>
</head>
<body>
  <div class="container">
    <div class="relative">Relative Positioning</div>
    <div class="absolute">Absolute Positioning</div>
  </div>
</body>
</html>

参考链接

通过以上内容,你应该对 CSS 绝对定位和相对定位有了更深入的了解,并且知道如何在实际开发中应用它们。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

css中绝对定位_绝对定位和相对定位怎么用

文章目录 相对定位 position: relative; 特性 用途 绝对定位 position: absolute; 绝对定位参考点 单独盒子绝对定位参考点: 父辈元素设置了相对定位,则子元素绝对定位以父辈元素为参考点...绝对定位水平居中 固定定位 参考点 相对定位 position: relative; css"> .box1{ width: 200px; height...position: absolute; 1.脱标,做遮盖效果,提升层级 2.设置绝对定位之后,不区分行内元素和块级元素,都能设置宽高。...父辈元素设置了相对定位,则子元素绝对定位以父辈元素为参考点。 父相子绝,父绝子绝,父固子绝,都是以父辈元素为参考点。父绝子绝,因为绝对定位脱离标准流,影响页面的布局。父相子绝是常用的布局方案。...设置绝对定位之后,margin:0 auto;不起任何作用 设置子元素绝对定位,然后left:50%; margin-left等于元素宽度的一半 css">

2.6K30

实操CSS定位:绝对定位、相对定位和固定定位

在CSS中,定位是一个复杂但重要的概念。它允许我们控制元素在页面上的位置。本文将详细介绍CSS中的三种主要定位类型:绝对定位、相对定位和固定定位。...CSS定位的基本概念在CSS中,position属性用于设置元素的定位类型。它有五个值:static、relative、absolute、fixed和sticky。...本文将重点介绍relative、absolute和fixed。相对定位(Relative Positioning)相对定位元素的定位是相对于其在正常流中的原始位置。...css复制div { position: relative; top: 10px;}绝对定位(Absolute Positioning)绝对定位元素的定位是相对于最近的已定位祖先元素(而不是相对于视口...css复制div { position: absolute; top: 50px; left: 50px;}固定定位(Fixed Positioning)固定定位元素的定位是相对于视口,这意味着即使页面滚动

34810
  • css绝对定位与相对定位结合使用_css定位方法

    css绝对定位与相对定位结合使用 1、绝对定位与相对定位 绝对定位使元素的位置与文档流无关,因此不占据空间。...这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。 相对定位是一个非常容易掌握的概念。如果对一个元素进行相对定位,它将出现在它所在的位置上。...然后,可以通过设置垂直或水平位置,让这个元素“相对于”它的起点进行移动。...—(w3cSchool) 2、搭配使用 有时候element的card固定的位置很讨人厌,想在标题处加一个按钮但是却不能在同一水平线上,很让人恼火,所以后面用绝对定位与相对定位让按钮到想要的位置 <div

    1.1K20

    【CSS】定位 ④ ( 绝对定位特点 | 相对定位不脱标示例 | 绝对定位脱标示例 )

    一、绝对定位特点 ---- 绝对定位 以 带有定位的 父级元素 为基准 , 通过 边偏移 移动位置 ; 如果 绝对定位 的元素 的 父级元素 没有定位 , 那么会 一直向上查找有定位的父级元素 , 直到浏览器...; 绝对定位 元素 不保留 原来的位置 , 是完全脱离 标准流 的 ( 脱标 ) ; 这里与相对定位进行对比 , 相对定位 是相对于 盒子在普通流模式下的位置 进行设置的 ; 相对定位 是 不脱标 的..., 原来的位置还会进行保留 ; 二、相对定位不脱标示例 ---- 相对定位 , 会保留盒子的原始位置 , 如果有其它标准流盒子在后面 , 会在 相对定位 的 盒子原始位置的 基础上进行排列 ; 代码示例...DOCTYPE html> 绝对定位示例 .father...的元素 , 红色盒子是标准流元素 , 标准流元素会在 相对定位元素原坐标的基础上进行排列 ; 三、绝对定位脱标示例 ---- 绝对定位 会 脱离标准流 , 后续的标准流元素会忽略掉绝对定位的元素 ,

    96420

    【CSS】定位 ⑤ ( 子元素绝对定位 父元素相对定位 | 代码示例 )

    一、子元素绝对定位 父元素相对定位 ---- 绝对定位 要和 带有定位 的 父容器 搭配使用 ; 子元素 使用绝对定位 , 父元素要使用 相对定位 ; 子元素使用 绝对定位 , 在布局中不会保留其位置..., 子元素完全依赖 父容器 的位置 , 此时就要求父容器必须稳定 , 如果父容器使用了 绝对布局 , 父容器就不会保留位置 , 而子元素又依赖父元素 , 这时父元素建议使用相对定位 , 这样能保证页面的稳定性...; 父级元素 需要 占位 , 必须使用 相对定位 ; 子元素 需要 任意摆放 , 必须使用绝对定位 ; 二、代码示例 ---- 父元素使用相对定位 , 子元素使用绝对定位 ; 两个子元素分别放置在 左侧和右侧...DOCTYPE html> 绝对定位示例 /* 父元素设置相对布局...: 40px; height: 40px; background-color: blue; } /* 子元素设置绝对布局 */ .son2 { /* 绝对布局 */

    1.9K20

    CSS 定位布局 - 相对、绝对、固定三种定位

    关于定位 我们可以使用css的position属性来设置元素的定位类型,postion的设置项如下: relative 生成相对定位元素,元素所占据的文档流的位置保留,元素本身相对自身原位置进行偏移。...absolute 生成绝对定位元素,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于上一个设置了定位的父级元素来进行定位,如果找不到,则相对于body元素进行定位。...在上面相对定位的示例中,元素相对定位是基于文档流原来的位置进行偏移定位的。那么,绝对定位是基于什么的呢? 将刚才关于设置相对定位的代码改为绝对定位看看。 ?...好了,从浏览器的呈现来看,设置相对定位就可以让绿色div以外层div进行相对偏移。下面再来看看绝对定位。 ? 父元素div设置了绝对定位之后,的确绿色div就以外层div进行偏移了。...定位元素特性 绝对定位和固定定位的块元素和行内元素会自动转化为行内块元素。 理解练习 制作如下布局: ? 首先写两个div出来,如下 ? 将数字5的div定位到第一个div的右上角 ?

    3.5K40

    【CSS】定位 ② ( 静态定位 | 相对定位 )

    一、静态定位 ---- CSS 中的 静态定位 是 默认的定位方式 , 就是无定位 , 设置该定位方式 , 定位盒子不生效 ; 为盒子模型 设置 静态定位 模式 , 该 盒子模型 就会按照标准流的方式...摆放布局 , 没有任何 边偏移 的效果 ; 在 使用 定位 时 , 几乎不适用 静态定位 ; 二、相对定位 ---- 相对定位 是 盒子模型 相对于 其在 标准流中的位置 设置的 ; 如 : 盒子模型...在标准流 中 , 原来的位置是 (0 , 0) , 设置了相对定位 , 就是 相对于原来的位置 (0, 0) 进行 边偏移 后的位置 ; 下面的示例中 , 盒子模型的初始位置是 在浏览器的 左上角 (.../* 设置标准流下盒子模型大小和位置 */ width: 200px; height: 200px; background-color: pink; /* 上述盒子默认在 0,0.../* 设置标准流下盒子模型大小和位置 */ width: 200px; height: 200px; background-color: pink; /* 上述盒子默认在 0,0

    1.4K20

    微信小程序 - 相对定位和绝对定位 - 相对路径和绝对路径

    微信小程序 - 相对定位和绝对定位 相对定位relative,绝对定位absolute 相对定位:元素是相对自身进行定位,参照物是自己. 绝对定位:元素是相对离它最近的一个父级元素进行定位....相对定位:relative position:relative; /*相对定位*/ left:50rpx; /*相对于自己往右偏离50*/ top:50rpx; /*相对于自己往下偏离...50*/ 绝对定位:absolute position: absolute; left: 50rpx; top: 50rpx; 效果: ?...Attendance-early.png' style="display: {{none}};"> {{zao}} position【定位属性...:static,relative,absolute,fixed,inherit,-ms-page,initial,unset】 相对路径和绝对路径 绝对路径: 以“/”开头代表根目录 相对路径:

    1.5K20

    html中相对定位怎么写,css相对定位

    定位的四种模式:static,relative,absolute,fixed 定位的四个位置:left,right,top,bottom 定位属性:position,有四种状态值 1.static:静态定位...,按元素在文档流中的顺序排列,这是默认值,四个位置无效 2.relative:相对定位,元素相对于原来它在文档流中的位置进行定位,四个位置有效 3.absolute:绝对定位,元素相对于它的定位父级定位...,脱离文档流,四个位置有效 4.fixed:固定定位,与绝对定位类类似,也脱离了文档流,元素在页面上的位置固定,不随页面滚动,四个位置有效 1.相对定位 .box1 { width:200px;....box3 { width:200px; height: 200px; background-color: lightcoral; /*珊瑚色*/ /*position: static;*/ /*相对定位...left: 400px; } .box4 { width:200px; height: 200px; background-color: brown; /*position: static;*/ /*相对定位

    2.4K30

    【CSS】CSS 总结 ⑦ ( 定位 | 静态定位 | 相对定位 | 绝对定位 | 子绝父相 | 固定定位 | 使用绝对定位设置水平垂直居中 | 堆叠顺序 | 显示模式 | 元素隐藏 ) ★

    一、CSS 定位 CSS 定位 相关博客 : 【CSS】定位 ① ( CSS 三大盒子布局方式 | CSS 定位简介 | 边偏移 | 定位模式 ) 【CSS】定位 ② ( 静态定位 | 相对定位 ) 【...CSS】定位 ③ ( 绝对定位 | 父容器有定位相对于父容器定位 | 父容器没有定位相对于浏览器进行定位 ) 【CSS】定位 ④ ( 绝对定位特点 | 相对定位不脱标示例 | 绝对定位脱标示例 ) 【CSS...】定位 ⑤ ( 子元素绝对定位 父元素相对定位 | 代码示例 ) 【CSS】定位 ⑥ ( 使用绝对定位在父容器任意位置显示子容器 | 代码示例 ) 【CSS】固定定位 ( 固定定位概念语法 | 固定定位...和 固定定位 都可以到达 将 元素转为 行内块显示模式 的效果 ; 行内盒子 , 一旦使用了 浮动 / 绝对定位 / 固定定位 就可以将该盒子看做 行内块元素 盒子 , 为该盒子设置宽高等属性 ; 浮动元素...和 绝对定位 / 固定定位 元素 , 都是脱标的 , 都不会触发 外边距塌陷 问题 , 为 盒子设置 浮动 / 定位 , 就不用考虑 外边距塌陷的问题 ; 14、使用绝对定位 / 浮动解决外边距塌陷问题

    35910

    【CSS】定位 ③ ( 绝对定位 | 父容器有定位相对于父容器定位 | 父容器没有定位相对于浏览器进行定位 )

    一、绝对定位 ---- 绝对定位 是以 父级元素 为基准 , 设置 边偏移 ; 为 子元素 添加 绝对定位 , 如果 父容器有定位 , 则相对于父容器的坐标进行定位 ; 如果 父容器没有定位 , 则相对于浏览器左上角位置进行定位...; 再次引申 , 如果父容器没有定位 , 则查找父容器的父容器 是否有定位 , 如果有则相对于爷爷容器进行定位 ; 上述 父容器 的定位 不一定是 绝对定位 , 其它类型的定位也可以 , 在本博客的示例中..., 使用的就是 相对定位 ; 为父容器添加了相对定位 , 子容器也会相对于 父容器 进行定位 ; 二、标准流下的父容器与子元素关系 ---- 1、标准流下父容器与子容器代码 标准流 父容器 中 包含一个...---- 在上面代码的基础上 , 为 子元素 添加绝对定位 数据 , 分别设置 顶部 和 左侧 50 像素的偏移量 ; /* 绝对定位 */ position: absolute;.../* 顶部偏移量 50 像素 */ top: 50px; /* 左侧偏移量 50 像素 */ left: 50px; 为 子元素 添加 绝对定位 , 如果 父容器有定位 , 则相对于父容器的坐标进行定位

    90220

    CSS 定位布局 - 绝对、固定定位设置居中悬浮div

    仅供学习,转载请注明出处 讨论的问题 在上一篇 CSS 定位布局 - 相对、绝对、固定三种定位 中,发现当使用定位布局的时候,存在一个无法使用margin居中的方法。...下面设置一下相对定位,看看会不会影响这种居中效果 ? 从上图可以看出相对定位并不会影响margin居中布局。 设置一下绝对定位,看看会不会影响这种居中效果 ?...可以从图中看出,绝对定位会影响margin的居中布局。 设置一下固定定位,看看会不会影响margin居中效果 ?...好了,从上面来看,绝对定位已经可以设置div居中了,那么固定定位是否也是如此呢? 固定定位设置div居中 ? ?...固定定位从上图来看,也是可以通过这种方式来进行居中的,基本方法如下: left: 50% margin-left: 负自身宽度的一半 因为绝对定位和固定定位相对于文档流就是悬浮的,这种效果最适合用于制作页眉部分的固定栏目了

    3.4K20

    CSS进阶06-相对定位Relative Positioning

    简介 一旦一个盒子遵循常规流或者浮动摆放好后,它有可能根据这个位置来相对位移,这被称作相对定位。...一个相对定位盒保持其常规流中的大小,包括断行和原本为其保留的空间。 2. left 和 right 对于相对定位元素而言, left 和 right 在不改变盒大小的同时使其水平位移。...如果 left 和 right 均不为 auto ,定位则被过度约束,其中一值必须被忽略。...top 和 bottom 属性在不改变相对定位元素的大小的同时使其上下位移。...注:在脚本环境中动态移动相对定位盒可以产生动画效果(见 'visibility' 属性)。尽管相对定位可被用于上标和下标效果,但行高在自动调整时不会将其定位纳入计算。

    65620

    CSS进阶08-绝对定位 Absolute Positioning

    简介 在绝对定位模型中,盒根据其包含块显式偏移。盒从标准流中完全脱离(对后来的同胞元素没有影响)。绝对定位盒为其标准流的子元素和绝对定位(非固定定位)后代创建新的包含块。...然而,绝对定位元素的内容不在任何其他盒的流中,它们可能遮挡其他盒的内容(或被遮挡),这取决于重叠盒子的堆叠层级stack levels 。 2....固定定位 Fixed positioning 固定定位是绝对定位的子类。唯一的区别在于,固定定位盒的包含块是由视口创建的。在连续媒体中,当文档滚动时,固定盒不会移动。...开发者可以使用固定定位去创建框架式frame-like布局。考虑如下框架布局: ? 这可以通过如下HTML文档和样式规则实现: CSS2/visuren.html CSS规范 > 9 视觉格式化模型 Visual Formatting Model

    52610

    微信小程序-元素的定位相对绝对固定

    本文链接:https://blog.csdn.net/weixin_42514606/article/details/100127856 CSS 为定位和浮动提供了一些属性,利用这些属性,可以建立列式布局...定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置。显然,这个功能非常强大,也很让人吃惊。...要知道,用户代理对 CSS2 中定位的支持远胜于对其它方面的支持,对此不应感到奇怪。...语法 position: relative; //相对定位 position: absolute; //绝对定位 position: fixed; //固定定位 // 然后上下左右来定位其距离 left...absolute 绝对绝对,就是位置是觉得,其他元素变化了,他也不动, 但是有个前提就是相对于父元素 —— 前提是父元素的位置是确定的元素框从文档流中删除,并相对于其包含块定位,包含快可能是文档中的另一个元素或者初始包含块

    3.4K31

    CSS:绝对单位、相对单位

    作者:Abudula__ 我们对单位很熟悉,比如说,千克,千米,米等,这些就是绝对单位,我们又有听到太阳的质量等于33个地球,这个就是相对单位。在CSS中,单位也可以分为这两类。...在第二个box里,300px的小框跟上面的框的300px一样长,而第二个框里面的50%跟第一个框的50%为不一样,这个就很好的解释了相对单位和绝对单位。...px px 是 pixels(像素)的缩写,是一种绝对单位,用于屏幕显示器上,传统上一个像素对应于计算机屏幕上的一个点,而对于高清屏则对应更多。...另外 CSS 将光栅图像(如照片等)的显示方式定义为默认每一个图像大小为“1px”。...rem 和 em 一样,rem 也是一种相对单位,不过不一样的是 rem 是相对于根元素 html 的 font-size 来计算的,所以其参照物是固定的。

    2.1K20
    领券