css position: absolute、relative详解

CSS Position: Absolute和Relative详解

在CSS中position属性用于定义元素的定位类型。在position属性中有四个值:static(默认)、relative、absolute 和 fixed。

本篇攻略将详细介绍position属性中的absolute和relative,帮助您更好地理解和应用这两个定位类型。

Relative相对定位

相对定位是相对于元素原来在文档流中的位置进行定位,与元素周围的其他元素位置不会发生影响。即位置变动不会对其他元素造成影响。

示例1:

<div class="container">
  <div class="box1">Hello, how are you?</div>
  <div class="box2">I'm fine, thank you.</div>
</div>
.container {
  width: 300px;
  height: 300px;
  border: 1px solid black;
}

.box1 {
  position: relative;
  top: 50px;
  left: 50px;
  background-color: gray;
  width: 200px;
  height: 100px;
}

.box2 {
  width: 100px;
  height: 100px;
  background-color: yellow;
}

上面代码中,我们通过position: relative;top: 50px;left: 50px;来将box1向下移动了50px,向右移动了50px,而box2没有发生位置变动。

示例2:

<div class="container">
  <div class="box1">Hello, how are you?</div>
  <div class="box2">I'm fine, thank you.</div>
</div>
.container {
  width: 300px;
  height: 300px;
  border: 1px solid black;
}

.box1 {
  position: relative;
  top: 50px;
  background-color: gray;
  width: 200px;
  height: 100px;
}

.box2 {
  position: relative;
  top: -50px;
  left: 100px;
  background-color: yellow;
  width: 100px;
  height: 100px;
}

上面代码中,我们通过position: relative;top: -50px;left: 100px;将box2向上移动了50px,向右移动了100px,而box1没有发生位置变动。

Absolute绝对定位

绝对定位是相对父元素(经过定位的元素)的位置进行定位。当父元素没有经过定位时,则相对于浏览器窗口定位。

示例1:

<div class="container">
  <div class="box1">Hello, how are you?</div>
  <div class="box2">I'm fine, thank you.</div>
</div>
.container {
  width: 300px;
  height: 300px;
  border: 1px solid black;
  position: relative;
}

.box1 {
  position: absolute;
  top: 50px;
  left: 50px;
  background-color: gray;
  width: 200px;
  height: 100px;
}

.box2 {
  width: 100px;
  height: 100px;
  background-color: yellow;
}

上面代码中,我们通过position: absolute;top: 50px;left: 50px;让box1相对于父元素(container)的顶部和左侧各向下、向右跨越50px的距离。而box2没有发生位置变动。

示例2:

<div class="container">
  <div class="box1">Hello, how are you?</div>
  <div class="box2">I'm fine, thank you.</div>
</div>
.container {
  width: 300px;
  height: 300px;
  border: 1px solid black;
  position: relative;
}

.box1 {
  position: absolute;
  top: 50px;
  background-color: gray;
  width: 200px;
  height: 100px;
}

.box2 {
  position: absolute;
  top: 30px;
  left: 100px;
  background-color: yellow;
  width: 100px;
  height: 100px;
}

上面代码中,我们通过position: absolute;top: 30px;left: 100px;让box2相对于父元素(container)的顶部向下跨越30px的距离,与之相邻的box1也随之向下移动。而box2还向右跨越100px的距离,因此其完全出现在box1的右边。

总结

通过上面的两组例子,我们可以看到相对定位仅仅是在元素的原有位置上进行移动(如上下左右移动),而绝对定位则是根据父元素的位置进行移动(如向下向右移动)。两者的使用场景不同,需要根据自己的需求进行选择。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:css position: absolute、relative详解 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • 一行代码搞定 font-size 响应式

    在网页设计中,我们经常需要对字体大小进行响应式调整,以适应不同的屏幕尺寸和设备。下面是一个完整攻略,包含了如何使用 CSS 将 font-size 响应式调整的过程和两个示例说明。 CSS 如何一行代码搞定 font-size 响应式 我们可以使用 CSS 的 calc() 函数和 vw 单位来实现一行代码搞定 font-size 响应式。下面是一个例: f…

    css 2023年5月18日
    00
  • CSS 继承 inherit属性的方法

    CSS 继承是CSS样式机制的一种特性。它指的是子元素可以继承父元素的一些属性值,并且可以重写这些属性值。其中,inherit 是CSS样式机制中的一个关键字,表示要从父元素继承相应的属性值。 以下是使用 inherit 属性的方法。 1. 指定子元素的属性值为父元素的属性值 使用 inherit 属性可以将子元素的指定属性值设置为其父元素的属性值。例如,以…

    css 2023年6月10日
    00
  • html+css合并表格边框的示例代码

    合并表格边框可以使表格看起来更美观,同时也能减少表格边框的线条数,让页面更简洁。下面,我们就来详细讲解一下如何通过html和css实现合并表格边框。 基本思路 基本思路就是利用border-collapse属性和border-spacing属性,将相邻单元格的边框合并为一个共享边框。同时,通过设置单元格的边框宽度和颜色,使边框看起来像是合并在一起的。 示例代…

    css 2023年6月10日
    00
  • 详解关于html,css,js三者的加载顺序问题

    HTML、CSS 和 JavaScript 被称为前端三大基石,他们在网页中的加载顺序很重要。下面将详细解释它们的加载顺序。 HTML HTML 是网页的结构和内容,是网页的骨架。当浏览器加载网页时,它会首先加载 HTML 代码并渲染出网页的基本结构。一般来说,HTML 的文件名以 .html 或 .htm 结尾。 示例:比如我们有一个 index.html…

    css 2023年6月9日
    00
  • 使用HTML5和CSS3制作一个模态框的示例

    制作一个模态框是前端开发中的常见需求,以下是使用HTML5和CSS3制作模态框的攻略: 一、HTML结构 制作模态框需要使用HTML搭建模态框的骨架,其中包含以下元素: 1.1 遮罩层 遮罩层是覆盖在页面上的半透明层,用于屏蔽其他操作,使用户可以专注于模态框的内容。通常使用一个带有id属性的div元素来实现。 <div id="mask&qu…

    css 2023年6月10日
    00
  • css3 伪类选择器快速复习小结

    下面是关于“CSS3 伪类选择器快速复习小结”的详细讲解: 一、什么是伪类选择器 伪类选择器指的是在选择元素时,使用冒号(:)前缀来识别元素的某些状态。例如: hover、active、focus等。 二、常见的伪类选择器 :hover — 当鼠标悬停在元素上时触发 :active — 当元素被激活或被选中时触发 :focus — 当元素被聚焦时触发 :vi…

    css 2023年6月9日
    00
  • 分享bootstrap学习笔记心得(组件及其属性)

    分享bootstrap学习笔记心得(组件及其属性) 1. 什么是bootstrap Bootstrap是Twitter公司开发的一个前端框架,它基于HTML、CSS、JavaScript,通过预设的样式,可以使前端页面快速搭建和美化。现在已经成为全球最受欢迎的前端框架之一。 2. 常用组件及其属性 2.1 导航栏(Navbar) Navgation Bar(…

    css 2023年6月11日
    00
  • 300 多行css代码搞定微信 8.0 的炸裂特效

    下面就为您详细讲解”300 多行css代码搞定微信 8.0 的炸裂特效”的完整攻略。 1. 背景介绍 本文介绍的是如何利用 CSS3 实现微信8.0新版的炸裂特效。炸裂特效主要是通过 CSS3 动画和过渡来实现的,其效果可以让页面元素在鼠标 hover 或点击时以炸裂的形式消失,十分惊艳。 2. 实现步骤 2.1 HTML结构 首先要有一个 HTML 结构来…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部