定位体系

本文详细介绍了CSS中的三种定位体系:常规流、浮动和绝对定位。常规流是元素默认的布局方式,浮动主要用于实现文字环绕效果,而绝对定位则允许元素脱离常规流并精确定位。浮动可能导致父元素高度塌陷,需通过清除浮动来解决。绝对定位的元素可以通过left、right、top、bottom设置位置,其包含块可能是视口或最近的定位祖先元素。
摘要由CSDN通过智能技术生成

定位体系

定位体系一共有三种(任何一个元素,必须属于其中一种定位体系。不同定位体系中,元素在包含块中的尺寸和位置会有差异)。

  • 常规流(normal flow)

    • 又叫普通流、文档流、普通文档流。
    • 常规流是最常见的定位体系,所有元素默认状态下都是常规流定位。
  • 常规流:盒模型中的auto值

    • 水平方向
      • 常规流盒子在水平方向上的尺寸,必须等于包含块的宽度。
      • 假如左、宽、右均设置尺寸但依旧不满足撑满整个包含块宽度,则浏览器自动改动为auto。
  • 垂直方向

    • margin为auto:0px
    • height为auto:适应内容的高度
  • 常规流:盒子位置

    • 盒子(块盒)在包含块的垂直方向上依次(从上到下按照html的书写顺序)摆放。
    • 盒子在包含块中占据的尺寸是整个盒子的尺寸。
    • **垂直方向上,若两个外边距相邻,则进行合并(折叠)。**水平方向上不会
      • 外边距相邻:两个外边距之间没有border、padding、content。(触发条件)
      • 合并规则:
        • 相同值,取一个
        • 都是正值,取最大
        • 都是负值,取最小
        • 一正一负则相加

浮动(float)默认值:none

  • 当元素的float属性取值为left或right时,元素属于浮动定位。
  • float属性不可继承
  • 浮动的初衷是为了实现文字环绕。
  • 浮动:盒模型中的auto值
    • margin-left:auto (0px)
    • margin-right:auto (0px)
    • margin-top:auto (0px)
    • margin-bottom:auto (0px)
    • width:auto(适应内容宽度)
    • height:auto(适应内容高度)
  • 浮动:盒子位置
    • 左浮动的盒子向上向左排列
    • 右浮动的盒子向上向右排列
    • 浮动盒子的顶边不得高于上一个盒子的顶边。
    • 若剩余空间无法放下浮动盒子,则该盒子会先向下找到放得下的空间,再进行左或右浮动。
  • 浮动的缺点
    • 子级浮动,父元素高度塌陷(常规流元素会自动忽略浮动元素)(高度为0)。
    • 解决高度塌陷方法:清除浮动
    • 清除浮动方法:
      • 方法1:clear:left(清除左浮动) clear:right(清除右浮动) clear:both(清除全部浮动) 【缺点:需要在HTML写一个空标签。】
      • 方法2:给父元素添加一个伪元素。

绝对定位

概述
  • 当浮动元素被设置为绝对定位
    • 属于绝对定位,float(浮动)属性被浏览器强制设置为none。
  • 绝对定位对其他元素的影响
    • 绝对定位元素不会对其他任何元素造成任何影响。
  • 绝对定位元素的位置
    • 可通过left、right、top、bottom来设置。
  • 绝对定位元素的包含块
    • 如果position:fixed(固定位置);包含块为视口。
      • 一旦进行偏移量的设置(移动),则元素起始位置是视口左上角。
      • 可通过left、right、top、bottom来设置。
      • 适用场景:PC端:页面头部 移动端:footer PC、移动共用场景:AD(广告)、侧边栏、即时通讯、目录、回到顶部。(推荐元素:aside)。
    • 如果positiong:absolute(绝对位置);包含块为包含绝对位置元素,离绝对位置元素最近且position不是默认值的元素则是绝对元素的包含块。
      • 使用场景:两个及以上的元素(标签),需要重叠在一起的时候。
      • 堆叠级别z-index(无法继承):默认值为0。有效范围:相对位置、绝对位置、固定位置。 取值范围:正负值都可以。(数字越大越靠上,数字越小越靠下。)
对auto值的影响
  • 大部分情况下,盒子中auto值计算规则和浮动盒子相同。

常规流遇上浮动

常规流盒子和浮动盒子混合摆放
  • 浮动盒子在摆放的时候,要避开常规流盒子。--------PS:浮动盒子在常规流盒子后面。
  • 常规流盒子在摆放的时候,无视浮动盒子。--------PS:常规流盒子在浮动盒子后面。
  • 常规流盒子自动高度计算时,无视浮动盒子。--------高度塌陷
  • 高度塌陷解决方法(清除浮动):
    • 在父元素写overflow:hidden
    • 在包含块后加一个子元素(常规流)加一个:clear:both(无法继承)

盒子的相对位置(属于常规流)

概念

相对位置,是指相对于盒子在原本定位体系下的位置。

将盒子的position(不可继承)属性设置为relative(相对位置),以启用相对位置。

  • 起始位置为原本元素所在位置。

  • 相对位置下,盒子偏移后,不会对其他盒子造成影响且原本位置保留。

  • 可通过left、right、top、bottom来设置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值