登录
首页 >  文章 >  前端

CSS定位:图片固定在滚动Div角落

时间:2025-10-18 10:16:32 397浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《CSS定位:实现图片在滚动Div中固定于角落不随内容滚动 》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

CSS定位:实现图片在滚动Div中固定于角落不随内容滚动

本文详细讲解如何利用CSS的`position: relative`和`position: absolute`属性,实现在一个可滚动`div`容器中,将图片精确固定在其角落,且不随内容滚动。通过设置父容器为相对定位,子图片为绝对定位,确保图片始终相对于父容器边界保持固定,同时兼顾移动设备兼容性,是前端开发中处理此类UI布局的实用技巧。

在网页设计中,我们经常会遇到需要在特定容器(如一个可滚动区域)的角落放置装饰性图片或图标的需求。然而,当容器内容发生滚动时,这些角落的图片往往会随之滚动,无法保持其相对于容器边缘的固定位置。本文将深入探讨如何利用CSS的定位属性,优雅地解决这一问题,确保图片始终固定在容器的指定角落,而不受内容滚动的影响。

理解CSS定位机制

要解决此问题,首先需要理解CSS中几个关键的定位属性:position: static、position: relative、position: absolute 和 position: fixed。

  • position: static (默认值):元素遵循正常的文档流。top, right, bottom, left, z-index 属性无效。
  • position: relative (相对定位):元素仍然在正常的文档流中,但可以通过 top, right, bottom, left 属性相对于其自身在文档流中的原始位置进行偏移。更重要的是,一个相对定位的元素会为其绝对定位的子元素创建一个新的定位上下文
  • position: absolute (绝对定位):元素会脱离正常的文档流,不再占据空间。它会相对于其最近的已定位祖先元素(即 position 属性不是 static 的祖先元素)进行定位。如果没有已定位的祖先元素,它将相对于初始包含块(通常是 元素)进行定位。
  • position: fixed (固定定位):元素会脱离正常的文档流,相对于视口(viewport)进行定位。这意味着它会固定在屏幕上的某个位置,即使页面滚动也不会移动。

在我们的场景中,我们希望图片固定在父div的角落,而不是页面的角落,并且不随父div内容的滚动而移动。position: fixed 会使图片固定在视口边缘,这不符合我们的要求。因此,我们需要利用 position: relative 和 position: absolute 的组合。

解决方案:相对定位父容器与绝对定位子元素

核心思路是:将父容器设置为 position: relative,从而为内部的绝对定位子元素提供一个定位上下文。然后,将需要固定在角落的图片设置为 position: absolute,并使用 top, right, bottom, left 属性将其精确地定位到父容器的相应角落。

示例代码

假设我们有一个可滚动的日志更新区域,并希望在它的四个角落放置装饰性图片。

HTML 结构:

<div class="scrollable-container">
    <!-- 左上角图片 -->
    <img class="corner-image top-left" src="https://f2.toyhou.se/file/f2-toyhou-se/images/51687767_YMNPzQqkmi2CP1H.png" alt="Top left corner">
    <!-- 右上角图片 -->
    <img class="corner-image top-right" src="https://f2.toyhou.se/file/f2-toyhou-se/images/51687774_ZWtici8CxHbaKAt.png" alt="Top right corner">
    <!-- 左下角图片 -->
    <img class="corner-image bottom-left" src="https://f2.toyhou.se/file/f2-toyhou-se/images/51687760_DcjvijLLUCRXi1e.png" alt="Bottom left corner">
    <!-- 右下角图片 -->
    <img class="corner-image bottom-right" src="https://f2.toyhou.se/file/f2-toyhou-se/images/51687807_VnKHqCyMkhDfhgf.png" alt="Bottom right corner">

    <!-- 容器内容,此处为更新日志 -->
    <p>
        <b style="padding: 5px;">22/05/22</b>
        <a href="https://toyhou.se/~world/74697.20studios">Updated: Alpha 0.1.3 Added all bases to base character gallery.</a>
    </p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志内容...</p>
    <p>更多更新日志

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于文章的相关知识,也可关注golang学习网公众号。

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>