CSS——定位

布局方式:盒模型,浮动,定位,弹性盒子····

一、定位简介

定位是一种布局方式 ,是一种高级的布局方式,可以将元素放在页面的任意位置

  • 注意

定位不能滥用,定位只做一些特殊位置的调整,

大的布局还是得以盒模型、浮动、弹性盒子为主

二、定位的特点

1、都是配合偏移量使用

2、相对定位、粘滞定位不会改变元素的性质,

绝对定位、固定定位会脱离文档流,改变元素的性质

3、都可以提高元素的层级

4、偏移原点不一样:相对定位是自己,绝对定位是包含块,粘滞和固定是整个页面

三、开启定位

开启定位:position:;

  • 可选值

(1)不开启定位:static 默认值

(2)开启定位:

relative 相对定位

absolute 绝对定位

fixed 固定定位

sticky 粘滞定位

四、偏移量

left:元素偏移原点左侧的距离,正值:元素向右,负值:元素向左

right:元素偏移原点右侧的距离,正值:元素向左,负值:元素向右

top:元素偏移原点上侧的距离,正值:元素向下,负值:元素向上

bottom:元素偏移原点下侧的距离,正值:元素向上,负值:元素向下

五、各种定位不同的特点

(一) 开启相对定位:position:relative;

1、开启相对定位后,需要配合偏移量去移动元素的位置

2、相对定位的偏移原点:在元素原来在文档流中的位置

3、相对定位并不会改变元素的性质

4、开启相对定位后,元素的层级会提高

(二)开启绝对定位:position: absolute;

  • 特点:

1、绝对定位,也需要配合偏移量移动位置

2、绝对定位下,元素会脱离文档流,元素的性质发生了变化,不再区分块、行内、行内块

3、元素的层级提高了

4、绝对定位的偏移原点:是其包含块

一般情况下,我们给子元素开了绝对定位,就会同时给父元素开相对定位,这叫:"子绝父相",但具体还是要看开发需要

  • 为什么开相对定位:

相对定位,只要你不写偏移量,开不开,对当前元素没有影响

  • 包含块的概念:

不开定位:包含块就是其父元素

开启定位:包含块是离它最近的,开了定位的,祖先元素

如果其祖先元素都没开定位,包含块就是根标签,即整个页面

  • 注意:

定位需要配合偏移量移动位置,如果偏移量是一个比较大,难算的值,

首先得考虑是否是偏移原点没找好

如果偏移量都是比较大得绝对值,后期很可能会出bug

(三)开启固定定位: position:fixed;

  • 特点:

1、 固定定位需要配合偏移量使用

2、固定定位后,元素脱离文档流,元素得性质发生变化

3、元素得层级提高

4、 固定定位后,不会随着滚动条得滚动而滚动

5、偏移原点 :整个页面

  • 应用场景:

导航、广告,侧边导航等位置

(四)开启粘滞定位:position:sticky;

  • 特点:

1、元素位置:需要配合偏移量使用,监测偏移量

当元素没有到达偏移量时。会随着滚动条的滚顶而滚动

到达设置的偏移量后,就固定不动了

2、元素的性质没有发生变化

  • 注意:

粘滞定位只在当前父元素内生效,当页面超过当前父元素,元素还是会随着滚动条滚动

  • 应用场景:

导航、侧边导航

相关推荐
出海小龙10 小时前
联盟营销实战技能体系:从市场研究到数据优化的完整盈利框架
大数据·前端·人工智能
code_Bo10 小时前
apple gpt 礼品卡订阅失败解决方案
前端·人工智能·后端
转转技术团队10 小时前
MCP 解析:给 AI 装上“万能充电口”,打通连接世界的“最后一公里”
前端
Y敲键盘的地方10 小时前
第9章 工具调用循环——Agent的行动闭环
java·服务器·前端
苏瞳儿10 小时前
vue3+pinia+mqtt实时响应连接
前端·javascript·vue.js
ayqy贾杰11 小时前
我同事,40了,他vibe coding了个App
前端·ios·客户端
暗冰ཏོ11 小时前
《2026 Vue2 + Vue3 完整学习指南:基础语法、路由缓存、登录拦截、项目实战与面试题》
前端·vue.js·vue·vue3·vue2
蜡台11 小时前
VUE 侧边按钮组,可自定义位置
前端·javascript·css
AI科技星11 小时前
维度原本——基于超复数谱系的全域维度统一理论
c语言·前端·javascript·网络·electron
kyriewen11 小时前
14MB VS 15KB:前React核心成员用AI写了个排版库,让Safari快了一千倍
前端·javascript·react.js