CSS定位:图片固定在滚动Div角落
时间:2025-10-18 10:16:32 397浏览 收藏
哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《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学习网公众号。
-
502 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
274 收藏
-
232 收藏
-
339 收藏
-
359 收藏
-
342 收藏
-
385 收藏
-
192 收藏
-
360 收藏
-
149 收藏
-
477 收藏
-
313 收藏
-
169 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习