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 定位 – 绝对、相对、固定和粘性的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 12:48:07
下一篇 2025年12月24日 12:48:17

相关推荐

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

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

    2025年12月24日
    000
  • 使用 React 构建主题切换的 Todo 应用程序

    介绍 在本教程中,我们将使用 react 构建一个 待办事项列表 web 应用程序。该项目有助于理解状态管理、事件处理以及在 react 中使用列表。对于想要增强 react 开发技能的初学者来说,它是完美的选择。 项目概况 待办事项列表应用程序允许用户添加、标记为已完成和删除任务。它提供了一个干净…

    2025年12月24日 好文分享
    000
  • 构建 React 费用跟踪应用程序

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

    2025年12月24日 好文分享
    000
  • 月相 | CSS 艺术:空间

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

    2025年12月24日
    000
  • 使用 Tailwind CSS 创建流星边框动画

    在这篇博文中,我们将使用 tailwind css 创建一个迷人的“流星”边框动画。此效果为输入字段提供发光的动画边框,可以吸引用户的注意力 – 非常适合电子邮件注册或重要通知等号召性用语部分。 演示 在深入研究代码之前,您可以在此处查看效果的现场演示:在 tailwind playgr…

    2025年12月24日
    000
  • HTML、CSS 和 JavaScript 项目

    欢迎来到我的 html、css 和 javascript 项目集合!这篇博文全面概述了我创建的各种项目,展示了 web 开发的不同方面。每个项目都可以在自己的存储库中找到,其中包含您需要探索和学习的所有代码。 目录 简介项目概况开始使用贡献作者 介绍 作为一名 web 开发人员,我喜欢从事各种项目,…

    2025年12月24日
    000
  • Riva – Tailwind CSS 仪表板模板生成器

    大家好! 我想向您介绍 Riva Dashboard,这是一个用于 Tailwind CSS 的拖放式仪表板模板生成器,旨在帮助开发人员加快开发过程。 Riva 构建于 Tailwind CSS 之上,具有以下功能,包含 72 多个组件(更多组件即将推出)。 链接: 立即学习“前端免费学习笔记(深入…

    2025年12月24日
    000
  • 介绍我的新 Bootstrap olor 调色板生成工具

    嘿,开发者社区! ? 我很高兴分享我一直在开发的一个新工具,它将使您的网页设计过程更加顺畅和更加个性化。如果您发现自己想要更多地控制网站的配色方案,那么这个工具适合您! ? 它有什么作用? 这个 Bootstrap 5 调色板生成器工具可让您轻松设置自己的调色板。只需点击几下,您就可以定义主要、次要…

    2025年12月24日
    000
  • 带有媒体查询的响应式网页设计

    第 6 讲:带有媒体查询的响应式网页设计 在本次讲座中,我们将深入探讨响应式网页设计,这是创建在从台式机到智能手机的所有设备上看起来都很棒的网站的关键技能。响应式设计的关键是使用媒体查询,它允许您根据屏幕尺寸或设备特性应用不同的样式。 了解响应式网页设计 响应式网页设计可确保您的网站适应各种屏幕尺寸…

    2025年12月24日
    000
  • 如何将 CSS 样式添加到 HTML 页面:初学者指南

    简介想象一下您在厨房里,准备准备一道菜。主要成分 (html) 摆在您面前:肉、蔬菜、香料。但要将这些食材转化为烹饪杰作,您需要烹饪技术、调味料和摆盘——这就是 css(层叠样式表)发挥作用的地方。 css 就像网络的“调味艺术”:没有它,您的 html 页面将会很有营养,但有点乏味。在本指南中,我…

    2025年12月24日
    000
  • How to create typography tokens for a design system using Sass mixins

    许多设计系统都是从颜色和尺寸等基本设计标记开始的,这些标记可以轻松转换为 css 变量(或 sass 或 less 等)。 // tokens.scss$primary-text-color: #aaa;$secondary-text-color: #ccc;$size-s: 8px;$size-m…

    2025年12月24日
    000
  • 仅使用 CSS 从图像中删除背景

    注意:我刚刚翻译了下面的文字并将其发布在这里。参考文献位于本文末尾。 在这篇适合初学者的博客文章中,我们将学习如何仅使用 css(特别是 css 属性 mix-blend-mode)从图像中删除背景。此技术可用于创建有趣的视觉效果并通过减少编辑图像的需求来提高网站的性能。 为什么这个技巧很重要? 下…

    2025年12月24日
    000
  • CSS 过渡和动画

    第 7 讲:css 过渡和动画 在本次讲座中,我们将探索如何使用 css 过渡和动画让您的网页栩栩如生。这些技术允许您创建流畅、引人入胜的效果,从而增强用户体验,而无需 javascript。 css 过渡简介 css 转换使您能够在指定的持续时间内平滑地更改属性值。它们非常适合创建悬停效果、按钮动…

    2025年12月24日
    000
  • 终极 Reactjs 备忘单:轻松掌握 Reactjs⚛️

    介绍 react.js 已成为现代 web 开发中用于创建交互式和动态用户界面的主要内容。其基于组件的架构通过提供声明性 ui 并利用虚拟 dom 的概念,简化了单页应用程序 (spa) 的开发。本备忘单旨在指导您了解 react.js 的基本知识,从了解基础知识到掌握高级技术。无论您是初学者还是希…

    2025年12月24日
    000
  • 为什么多年的经验让我选择全栈而不是平均栈

    在全栈和平均栈开发方面工作了 6 年多,我可以告诉您,虽然这两种方法都是流行且有效的方法,但它们满足不同的需求,并且有自己的优点和缺点。这两个堆栈都可以帮助您创建 Web 应用程序,但它们的实现方式却截然不同。如果您在两者之间难以选择,我希望我在两者之间的经验能给您一些有用的见解。 在这篇文章中,我…

    2025年12月24日
    000
  • CSS 中的网格和 Flex 布局

    介绍 flexbox 和网格布局都是强大的布局。 弹性盒: flexbox 是一种一维布局模型,最适合在单行或单列中排列元素。当元素的大小或容器的大小未知时,flexbox 特别有用。它非常适合水平和垂直对齐项目,并且对于创建导航栏、侧边栏或工具栏非常有用。 css 网格: 网格是一种二维布局模型,…

    2025年12月24日
    000
  • CSS 网格 – 深入探讨

    第 9 讲:css 网格 – 深入探讨 欢迎来到《从基础到辉煌》课程第九讲。在本次讲座中,我们将探索 css 网格,这是一个强大的布局系统,可让您轻松创建复杂的网页布局。虽然 flexbox 非常适合单维布局(行或列),但 css grid 提供了二维布局系统,使您能够同时控制行和列。 …

    2025年12月24日
    000
  • 掌握 Web 动画:CSS 与未优化和优化的 JavaScript 性能

    网页动画可以显着改善用户体验,但如果实施不仔细,也会影响网站性能。在本文中,我将比较三种不同的方法来对大小脉冲的圆形元素进行动画处理。我将使用 css、未优化的 javascript 和优化的 javascript,并向您展示如何使用 chrome devtools 衡量它们的性能。 网页动画简介 …

    2025年12月24日
    000
  • 仅使用 CSS 实时测试 HTML 和 CSS 的实用方法

    最近,我公开了一个我为创建放射状设计而开发的 CSS 框架。在开发过程中,我遇到了一些挑战,包括测试不同的功能。我注意到 CSS linter 和其他工具不允许我了解为什么某些东西不起作用,即使没有基本错误。另一个典型的 CSS 问题是如何在不同的浏览器之间共享它。幸运的是,我发现某些新的 CSS …

    2025年12月24日
    000
  • React 中的 CSS 冲突

    ui 是我们开始输入逻辑以完成前端之前的第一步。因此,我们编写标记,然后编写获得所需用户界面所需的基本样式。在编写标记时,我们必须创建有意义的类名来寻址和访问 html 标记并向其添加样式。通过简单的用户界面和不同的标签,我们可以或多或少轻松地做到这一点。在编写重复且复杂的 ui 时,给出有意义且独…

    2025年12月24日 好文分享
    000

发表回复

登录后才能评论
关注微信