盒子的定位

定位

  • 定位可以让盒子自由的在某个盒子内移动位置或者固定屏幕中的某个位置,可以压住其他盒子

  • 定位=定位模式+边偏移

  • 定位模式用于定位一个元素在文档中的定位方式,边偏移决定了元素的最终位置

  • position为属性来定义

  • 值 为static 静态定位。relative 相对定位 。absolute 绝对定位 。fixed 固定定位

  • 相对定位relative

  • 是元素移动位置的时候,相对它原来的位置来说的(自恋型)

  • 当向top移动时,是相对自身的y轴向下移动

  • 移动前的位置不会像浮动一样高度变成零,而是继续保留高度。后续的盒子不能占有其位置

  • 绝对定位absolute(重要)

  • 元素移动位置的时候,是相对它祖先元素来说的(拼爹型)

  • 语法:position:absolute;

  • 如果没有祖先元素或者祖先元素没有定位,则以浏览器为准的定位

  • 当父类没有定位而父类的父类有定位,则以父类的父类为准的定位

  • 绝对定位没有保留位移之前盒子的位置

  • 因为父级需要占有位置,因此是相对定位,子盒子不需要占有位置,则是绝对定位

  • 固定定位fixed(重要)

  • 固定定位是浏览器可视区的位置主要使用场景:可以在浏览器页面滚动的时候保存不动

css 复制代码
position: fixed;
top: 0;
left: 0;
  • 向左和向下同理,向右和向上是数值越大方向相反

  • 跟父类没有任何关系

  • 跟父元素没有任何关系

  • 不随滚动条滚动

  • 固定定位不在占有原先的位置

css 复制代码
.w {
    width: 800px;
    height: 1400px;
    background-color: pink;
    margin: 0 auto;
}
.fixed {
    position: fixed;
    走到浏览器宽度一半
    left: 50%;
    利用margin走到盒子宽度的一半距离
    margin-left: 400px;
    width: 50px;
    height: 150px;
    background-color: blue;
}
  • 粘性定位是相对定位和固定定位的混合,Sticky粘性

  • 粘性定位占有原来的位置(相对定位的特点)

  • 语法:

css 复制代码
选择器{ position: sticky; top: 10px;}
  • 必须添加top、left 、right、bottom、其中一个

  • 定位的叠次序z-index

css 复制代码
选择器{z-index: 1;}
  • 数值可以是正整数、负整数、或0.默认是auto,数值越大,盒子月靠上

  • 如果属性值相同,则按照书写的顺序,后来居上

  • 只有定位的盒子才有z-index属性

  • 如果想让盒子居中不能用,margin: 0 auto;

css 复制代码
position: absolute;
left走50%父容器宽度的一半
left: 50%;
margin 负值 往左边走 自己盒子宽度的一半
margin-left: -100px;
top: 50px;
  • 定位的特殊性

  • 绝对定位和固定定位也和浮动类似

  • 1.行内元素添加绝对或者固定定位,可以直接设置高度和宽度

  • 2.块级元素添加绝对或者固定定位,如果不给宽度或者高度,默认大小是自身内容的大小。

  • 浮动的元素、绝对定位(固定定位)元素都不会出发外边距合并的问题

相关推荐
安冬的码畜日常9 分钟前
【D3.js in Action 3 精译_027】3.4 让 D3 数据适应屏幕(下)—— D3 分段比例尺的用法
前端·javascript·信息可视化·数据可视化·d3.js·d3比例尺·分段比例尺
l1x1n036 分钟前
No.3 笔记 | Web安全基础:Web1.0 - 3.0 发展史
前端·http·html
昨天;明天。今天。1 小时前
案例-任务清单
前端·javascript·css
zqx_72 小时前
随记 前端框架React的初步认识
前端·react.js·前端框架
惜.己2 小时前
javaScript基础(8个案例+代码+效果图)
开发语言·前端·javascript·vscode·css3·html5
什么鬼昵称3 小时前
Pikachu-csrf-CSRF(get)
前端·csrf
长天一色3 小时前
【ECMAScript 从入门到进阶教程】第三部分:高级主题(高级函数与范式,元编程,正则表达式,性能优化)
服务器·开发语言·前端·javascript·性能优化·ecmascript
NiNg_1_2343 小时前
npm、yarn、pnpm之间的区别
前端·npm·node.js
秋殇与星河3 小时前
CSS总结
前端·css
BigYe程普4 小时前
我开发了一个出海全栈SaaS工具,还写了一套全栈开发教程
开发语言·前端·chrome·chatgpt·reactjs·个人开发