CSS 定位 – 绝对、相对、固定和粘性

css 定位 – 绝对、相对、固定和粘性

第 11 讲:css 定位 – 绝对、相对、固定和粘性

欢迎来到《从基础到辉煌》课程第十一讲。在本次讲座中,我们将探讨css定位的不同类型:相对绝对固定粘性。了解定位可以让您控制元素在页面上的显示位置以及用户与内容交互时元素的行为方式。

1.了解位置属性

position 属性指定元素在文档中的位置。它可以采用以下值:

静态:默认值。元素根据正常文档流定位。相对:元素相对于其正常位置定位。绝对:元素相对于其最近的定位祖先或初始包含块进行定位。固定:元素相对于浏览器窗口定位,并在滚动时保持在相同位置。粘性:元素被视为相对元素,直到达到阈值(例如滚动位置),然后它变得固定。

2.相对定位

具有position:relative的元素相对于其原始(静态)位置定位。它保留在文档流中,这意味着其他元素仍会考虑它。

示例:使用相对定位来移动元素。

  .box {    position: relative;    top: 20px; /* moves the box 20px down from its normal position */    left: 30px; /* moves the box 30px to the right */  }

登录后复制

在此示例中,元素从原始位置向下移动 20px,向右移动 30px,但保留其在文档流中的空间。

立即学习“前端免费学习笔记(深入)”;

3.绝对定位

位置为绝对的元素将从文档流中删除,并相对于其最近的定位祖先(即位置不是静态的祖先)进行定位。

示例:将元素绝对定位在容器内。

  .container {    position: relative; /* this container is the reference for the absolute positioning */    width: 300px;    height: 200px;    background-color: #f4f4f4;  }  .box {    position: absolute;    top: 50px;    right: 20px;    background-color: #333;    color: white;    padding: 10px;  }

登录后复制

在此示例中:

.box 绝对位于距离顶部 50 像素、距离右侧 20 像素 .container 元素内部。.container 具有position:relative,使其成为.box 的定位参考。

4.固定定位

位置为固定的元素相对于浏览器窗口定位,无论页面如何滚动。

示例:创建固定导航栏。

  .navbar {    position: fixed;    top: 0;    left: 0;    width: 100%;    background-color: #333;    color: white;    padding: 15px;    text-align: center;  }

登录后复制

在此示例中:

.navbar 位于视口顶部,即使页面滚动也保持固定。

5.粘性定位

具有position: sticky 的元素被视为相对元素,直到用户滚动超过定义的阈值,此时它变得固定。

示例:滚动后保留在顶部的粘性标题。

  .header {    position: sticky;    top: 0;    background-color: #333;    color: white;    padding: 10px;  }

登录后复制

在此示例中:

.header 的行为就像普通元素一样,直到它到达页面顶部。之后,它会粘在顶部并在用户滚动时保持可见。

6. z-索引

当元素被定位(相对、绝对、固定或粘性)时,您可以使用 z-index 属性控制它们的堆叠顺序。较高的 z-index 值使元素出现在较低的元素之上。

示例:控制堆叠顺序。

  .box1 {    position: absolute;    top: 50px;    left: 50px;    z-index: 1; /* lower z-index */    background-color: #f4f4f4;    padding: 20px;  }  .box2 {    position: absolute;    top: 80px;    left: 80px;    z-index: 2; /* higher z-index */    background-color: #333;    color: white;    padding: 20px;  }

登录后复制

在此示例中:

由于 z-index 值较高,.box2 将出现在 .box1 上方。

7.结合定位技术

您可以组合定位值来创建高级布局。

示例:修复了具有相对内容区域的侧边栏。

  .sidebar {    position: fixed;    top: 0;    left: 0;    width: 200px;    height: 100vh;    background-color: #333;    color: white;    padding: 20px;  }  .content {    position: relative;    margin-left: 220px; /* Account for the fixed sidebar */    padding: 20px;  }

登录后复制

在此布局中:

.sidebar 固定在页面左侧并在滚动时保持可见。.content 区域相对定位并调整其边距以适应侧边栏。

练习运动

创建一个具有固定页眉和页脚的网页,并对内容使用相对和绝对定位。添加滚动时固定的粘性侧边栏。

下一步:在下一堂课中,我们将深入探讨css 变换和动画,您将在其中学习如何轻松为 web 元素设置动画。准备好让您的设计充满活力和互动!

在 linkedin 上关注我
里多伊·哈桑

以上就是CSS 定位 – 绝对、相对、固定和粘性的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2853874.html

(0)
上一篇 2025年3月10日 14:43:30
下一篇 2025年2月26日 08:30:34

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Tailwind CSS 与 Vanilla CSS:何时在 Web 开发项目中使用每种 CSS

    构建网站或 Web 应用程序时,使用 Tailwind CSS 和 vanilla CSS 之间的决定可能会显着影响您的工作流程、设计一致性和项目可扩展性。这两种选择都具有独特的优势,但正确的选择取决于您的具体项目要求和目标。 在本文中,我…

    2025年3月10日
    200
  • 使用 React 构建主题切换的 Todo 应用程序

    介绍 在本教程中,我们将使用 react 构建一个 待办事项列表 web 应用程序。该项目有助于理解状态管理、事件处理以及在 react 中使用列表。对于想要增强 react 开发技能的初学者来说,它是完美的选择。 项目概况 待办事项列表应…

    2025年3月10日
    200
  • 构建 React 费用跟踪应用程序

    介绍 在本教程中,我们将使用 react 创建一个 expense tracker web 应用程序。该项目将帮助您了解 react 中的状态管理、事件处理和动态列表更新。对于旨在通过构建实用且有用的应用程序来加强 react 开发知识的初…

    2025年3月10日
    200
  • 月相 | CSS 艺术:空间

    CSS 艺术:互动空间场景 这是前端挑战 v24.09.04,CSS 艺术:空间的提交。 灵感 对于这个挑战,我想捕捉夜空的动态和互动性质。不断变化的月相、闪烁的星星,以及偶尔令人兴奋的流星,一直让人类着迷。通过创建这些天体现象的动画和交互…

    2025年3月10日
    200
  • 使我的标记更加迷人:空间

    这是前端挑战 v24.09.04 的提交,Glam Up My Markup: Space 我建造了什么 针对此挑战,我使用 HTML、CSS 和 JavaScript 创建了一个以太阳系为主题的交互式网页。目标是通过视觉上引人入胜的设计和…

    2025年3月10日
    200
  • 使用 React 构建 Fylo 云存储网站

    介绍 在这篇博文中,我们将逐步介绍如何使用 react 创建一个功能丰富的云存储网站。该网站受 fylo 启发,提供了主页、功能、工作原理、感言和页脚等部分。在此过程中,我们将讨论用于构建这个完全响应式网站的结构、组件和样式。 项目概况 该…

    2025年3月10日 编程技术
    200
  • 浏览器中的星星:网络般的太空之旅

    这是前端挑战 v24.09.04 的提交,Glam Up My Markup: Space 我建造了什么我创建了 Solar System Explorer,这是一个交互式 Web 应用程序,可带领用户踏上令人惊叹的太阳系之旅。该项目旨在将…

    2025年3月10日
    200
  • CSS 动画 – 让元素栩栩如生

    第 13 讲:css 动画 – 让元素栩栩如生 欢迎来到《从基础到辉煌》课程第13讲!在这篇文章中,我们将探索 css 动画——一种通过随着时间的推移为网页元素添加动画效果的强大方法。借助 css 动画,您可以创建流畅的动态效果,从而增强用…

    2025年3月10日
    200
  • 使用 rel="preload" 加速您的网站

    在提高网站性能方面,每一毫秒都很重要。减少关键资源加载时间的最有效方法之一是使用 html 链接 rel=”preload” 属性。在这篇文章中,我们将深入探讨预加载的工作原理、何时使用它以及它如何显着改善网站上的用…

    2025年3月10日
    200
  • 宇宙网:学生的空间和代码之旅

    前端挑战 v24.09.04 提交:探索宇宙 这是前端挑战 v24.09.04 的提交,Glam Up My Markup: Space 我建造了什么 我创建了“探索宇宙”,这是一个身临其境的教育登陆页面,带领游客踏上太阳系之旅。我们的目标…

    2025年3月10日
    200

发表回复

登录后才能评论