前端学习笔记之定位学习
-
-
标准流
-
浮动
-
定位
-
-
定位的常见应用场景:
-
解决盒子与盒子之间的层叠问题
-
可以让盒子始终固定在屏幕中的某个位置
-
-
使用定位的步骤
-
设置定位方式
-
t通过属性名:position来设置,常见的定位模式有静态定位(static),相对定位(relative),绝对定位(absolute),以及固定定位(fixed)
-
-
设置偏移值
-
偏移值设置分为两个方向。水平和垂直方向各选一个即可
-
选取的原则一般是就近原则,离哪边近用哪个(left,right,top,bottom)
-
-
-
静态定位:默认定位方式,无定位
-
静态定位按照标准流特性摆放位置,它没有偏移
-
-
相对定位:相对于自己之前的位置进行移动
-
原来在标准流的位置继续占有,后面的盒子仍然以标准流的方式对待它(不脱标,继续保留原来位置)
-
-
绝对定位:相对于祖先的元素位置进行移动
-
如果没有祖先元素或者祖先元素无定位,则以浏览器为准定位
-
如果祖先元素有定位,则以最近一级有定位的祖先元素为参考点移动位置
-
-
子绝父相:子级使用绝对定位,父级使用相对定位
-
子级绝对定位,不会占有位置,可以放到父级盒子里面的任何一个地方,不会影响其他的兄弟盒子
-
父级加定位,限制子盒子在父盒子里面移动
-
父盒子布局时,需要占有位置,因此只能是相对定位
-
-
固定定位:元素固定于浏览器可视区的位置,主要用于在浏览器页面滚动时元素的位置不会变
-
以浏览器的可视窗口为参照点移动元素
-
跟父元素没有任何关系
-
不随滚动条滚动
-
-
固定位置不占有原先的位置(脱标)
-
固定定位小技巧:固定到版心右侧位置: left:50%;margin-left:版心的一半
-
-
粘性定位:相对定位和固定定位的混合(sticky)
-
以浏览器的可视窗口为参照点移动元素
-
占有原先的位置
-
必须加bottom,top,left,right其中一个才有效
-
兼容性较差,IE不支持
-
-
定位叠放次序:使用定位布局时,出现盒子重叠的情况,可以使用z-index来控制盒子的叠放次序
-
数值可以是正整数,负整数或者0,默认时auto,数值越大,盒子越靠上
-
如果属性值相同,则按照书写顺序,后来居上
-
数字后面不能加单位
-
只有定位的盒子才有z-index属性
-
-
定位的拓展:
-
绝对定位的盒子居中:加了绝对定位的盒子不能通过margin:auto水平居中,但是可以通过一下方法实现水平居中和垂直居中
-
水平居中:left:50%,margin-left:-盒子宽度的一半
-
垂直居中:top:50%,margin-top:-盒子宽度的一半
-
-
定位特殊特性:
-
绝对定位和固定定位也和浮动类似
-
行内元素添加绝对或者固定定位,可以直接设置宽度和高度
-
块级元素添加绝对或者固定定位,如果不给宽度和高度,默认是内容的大小
-
脱标的盒子不会触发外边距塌陷
-
-
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构