CSS定位中Positoin、absolute、Relative的一些研究

CSS定位中Position、Absolute、Relative的一些研究

Position属性

CSS中的Position属性用于指定元素在文档中的定位方式。它可以取三个值,分别是static、relative和absolute。

  • static: 默认值。元素按照正常文档流进行排布。
  • relative: 元素相对于其正常位置进行定位,也就是说,相对于该元素在文档中的实际位置进行定位。如果没有设置left、right、top、bottom属性,则仍然按照正常文档流进行排布。
  • absolute: 元素相对于最近的非static定位的父元素进行定位。如果没有找到这样的父元素,则相对于body元素进行定位。

定位的相对性

上面提到了Position属性可以用来指定元素在文档中的定位方式。对于absolute和relative属性来说,它们还有一个重要的特性,就是它们支持对位置的调整。这个位置的调整是相对于元素的原始位置来进行的。

对于relative属性来说,元素需要设置left、right、top、bottom属性来进行位置调整。元素的位置调整不会影响其他元素的位置,所以它不会导致其他元素重新排布。

<div style="background-color: pink; padding: 50px;">
  <div style="background-color: yellow; position: relative; left: 50px;">I'm relative element</div>
</div>

对于absolute属性来说,元素需要设置left、right、top、bottom属性来进行位置调整。然而,它的定位是相对于最近的非static定位的父元素来进行的,也就是说如果没有设置非static定位的父元素,那么就相对于body元素进行定位。

<div style="background-color: pink; padding: 50px; position: relative;">
  <div style="background-color: yellow; position: absolute; left: 50px;">I'm absolute element</div>
</div>

定位的叠加性

如果一个元素同时设置了relative和absolute属性,那么它的位置调整是相对于它自己的位置进行的。此时,它的位置调整会影响其他元素的位置,因为其他元素需要重新排布以腾出位置给它。

<div style="background-color: pink; padding: 50px;">
  <div style="background-color: yellow; position: relative;">
    <div style="background-color: purple; position: absolute; left: 50px;">I'm absolute element</div>
  </div>
  <div style="background-color: blue;">I'm another element</div>
</div>

定位的堆叠性

如果两个相邻的元素同时设置了position属性,并且它们之间没有空隙,那么它们的垂直位置的相对性取决于它们的z-index值。z-index属性用于指定元素在垂直方向上的堆叠顺序。z-index值越大的元素在前面,越小的元素在后面。

<div style="background-color: pink; padding: 50px;">
  <div style="background-color: yellow; position: relative; z-index: 1;">I'm relative element with z-index 1</div>
  <div style="background-color: blue; position: relative; z-index: 2;">I'm relative element with z-index 2</div>
</div>

总结

  • Position属性用于指定元素在文档中的定位方式。它可以取三个值,分别是static、relative和absolute。
  • relative属性是相对于元素的原始位置进行定位的,可以使用left、right、top、bottom属性进行位置调整。调整相对位置不会对其他元素产生影响。
  • absolute属性是相对于最近的非static定位的父元素进行定位的。定位的顺序受该父元素的位置影响。
  • 如果一个元素同时设置了relative和absolute属性,那么它的位置调整是相对于它自己的位置进行的。其他元素需要重新排布以腾出位置给它。
  • 如果两个相邻的元素同时设置了position属性,并且它们之间没有空隙,那么它们的垂直位置的相对性取决于它们的z-index值。z-index值越大的元素在前面,越小的元素在后面。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS定位中Positoin、absolute、Relative的一些研究 - Python技术站

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

相关文章

  • 300 多行css代码搞定微信 8.0 的炸裂特效

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

    css 2023年6月9日
    00
  • springboot中的静态资源加载顺序优先级

    在Spring Boot中,静态资源(如图片、CSS文件和JS文件)是存储在Web应用程序的classpath中的。在部署Web应用程序时,这些静态资源和其他资源文件一起打包在war或jar文件中。 静态资源的优先级顺序,可以通过以下方式进行修改: 放置在静态资源根目录下的资源优先加载; 优先加载jar包中的资源; 不同jar包中资源的加载是按照jar包中M…

    css 2023年6月10日
    00
  • HTML5实现动画效果的方式汇总

    下面是关于“HTML5实现动画效果的方式汇总”完整攻略的详细讲解。 1. 基础动画技术 CSS3 动画 CSS3 动画是一种使用 CSS3 属性实现动画效果的方式,该方式几乎覆盖了所有动画效果。它的优点是简单、易实现,缺点是需要考虑浏览器兼容性。 该方式需要先定义动画关键帧,再将关键帧关联到动画对象上,最后定义动画的持续时间、速度等参数。下面是一个简单的 C…

    css 2023年6月9日
    00
  • css样式important规则的正确使用方式

    下面是“CSS样式important规则的正确使用方式”的完整攻略: 正确使用important规则 仅在必要时使用important规则 在开发网站时,有时可能会遇到无法通过其他方式覆盖特定CSS样式的情况。这时候可以考虑使用important规则来强制使用该样式。但是,important规则应该只在必要时使用。如果在大量使用important规则,将变得…

    css 2023年6月9日
    00
  • Javascript 实现全屏滚动实例代码

    下面我将分享一下如何用JavaScript实现全屏滚动,并提供两个示例。 步骤一:设置全屏滚动的HTML结构 我们可以通过设置position: fixed属性的父级元素来实现全屏滚动。例如: <div id="scroll-container"> <div class="scroll-section&quot…

    css 2023年6月10日
    00
  • 固定在网页右侧的浮动层实现代码

    实现在网页右侧浮动的层,使用的是position属性。 在HTML中创建浮动层 首先在HTML文件的<body>标签结束前添加如下代码 <div class="float-layer">Hello world</div> 其中,我们的浮动层被指定为float-layer。我们将在CSS部分设置其样式。 …

    css 2023年6月10日
    00
  • react基本安装与测试示例

    以下是React基本安装和测试示例的完整攻略: 安装Node.js和npm 首先,你需要在你的计算机上安装Node.js和npm(包管理器),如果你已经安装过了,可以跳过这一步骤。 如果你还没有安装Node.js和npm,请参考以下步骤: 访问Node.js官网:https://nodejs.org/en/ 下载LTS版本的Node.js,根据你的操作系统选…

    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
合作推广
合作推广
分享本页
返回顶部