css position: absolute、relative详解

yizhihongxing

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日

相关文章

  • CSS 即将支持嵌套,SASS/LESS 等预处理器该何去何从

    CSS 即将支持嵌套,SASS/LESS 等预处理器该何去何从 在 CSS 3 中,嵌套选择器是一种非常有用的选择器,可以让开发者更加方便地编写 CSS 样式。然而,CSS 3 中的嵌套选择器只能嵌套一层,对于复杂的嵌套结构,仍然需要使用类名或 ID 来实现。近期,CSS 工作组提出了一个新的 CSS 规范,即 CSS Nesting,该规范将支持多层嵌套选…

    css 2023年5月18日
    00
  • CSS设置div对象盒子里部分文字加粗的实例介绍

    下面是详细讲解“CSS设置div对象盒子里部分文字加粗的实例介绍”的完整攻略。 什么是CSS设置div对象盒子里部分文字加粗? CSS是层叠样式表(Cascading Style Sheets)的缩写,它用于定义HTML等文档的显示风格。在CSS中可以使用各种属性和选择器来控制文档的外观和排版。 当我们需要让指定的文字在CSS样式中显示加粗时,我们可以使用C…

    css 2023年6月10日
    00
  • 一个JavaScript的求爱小特效

    现在我将详细讲解如何实现一个JavaScript的求爱小特效。 实现思路 我们可以利用HTML、CSS和JavaScript来实现这个小特效。具体实现过程如下: 首先,在HTML文件中添加两个input标签分别用于输入男方和女方的名字,以及一个button标签用于触发求爱动画; 然后,使用CSS样式来美化输入框和按钮的样式; 接着,使用JavaScript为…

    css 2023年6月11日
    00
  • 鼠标经过图片超链接时改变图片的大小(宽、高)的css

    在网页设计中,鼠标经过图片超链接时改变图片的大小是一个常见的效果。这种效果可以通过 CSS 的 :hover 伪类来实现。本文将提供一些关于如何使用 CSS 实现鼠标经过图片超链接时改变图片大小的方法,包括一些常见的 CSS 属性和示例说明。 CSS 属性 1. width 和 height 使用 width 和 height 属性可以改变图片的宽度和高度。…

    css 2023年5月18日
    00
  • 微信小程序实现指定显示行数多余文字去掉用省略号代替

    要实现微信小程序的指定显示行数多余文字去掉用省略号代替,可以使用以下步骤: 1. 在WXSS中使用line-clamp属性 首先,在WXSS中使用line-clamp属性来控制文本显示的行数。line-clamp需要指定一个整数值来表示显示行数。例如,要显示3行文本,可以设置line-clamp: 3;。 .text { display: -webkit-b…

    css 2023年6月10日
    00
  • 使用webpack搭建vue项目实现脚手架功能

    下面是使用webpack搭建vue项目实现脚手架功能的完整攻略。 1. 环境准备 首先,我们需要安装Node.js和npm。然后可以通过npm安装webpack和vue-cli: # 全局安装webpack和vue-cli npm install -g webpack vue-cli 2. 创建项目 接下来,我们可以使用vue-cli来创建一个基于webpa…

    css 2023年6月9日
    00
  • 使用js操作css实现js改变背景图片示例

    当我们需要动态修改页面外观时,就可以使用JavaScript来操作CSS。以下是使用JS操作CSS来实现背景图片更换的示例攻略。 步骤1:获取DOM元素 首先,在JS中获取需要更改背景图片的DOM元素,可以使用getElementById()方法,例如: const divElement = document.getElementById(‘myDiv’);…

    css 2023年6月9日
    00
  • 超级好用的jQuery圆角插件 Corner速成

    超级好用的jQuery圆角插件 Corner速成 简介 Corner是一个超级好用的jQuery圆角插件,可以帮助我们快速地实现各种圆角效果,支持自定义圆角半径、边框宽度和颜色等。 安装 可以通过以下两种方式安装Corner插件: 手动下载Corner的源代码文件,并将其引入到HTML文档中: “`html “` 使用CDN引入Corner: “`ht…

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