首页 > 其他分享 >absolute的containing block(容器块)计算方式和正常流有什么区别?

absolute的containing block(容器块)计算方式和正常流有什么区别?

时间:2025-01-17 09:41:32浏览次数:1  
标签:box containing 流有 元素 计算 block absolute

在前端开发中,absolute的containing block(容器块)计算方式与正常流的区别主要体现在定位参考和计算方式上。以下是具体的分析:

  1. 定位参考

    • 在正常流中,元素的containing block通常是其最近的块级元素的content box。这意味着元素的尺寸和位置是根据这个块级元素的内容区域(即去掉padding、border和margin的部分)来计算的。
    • 对于position为absolute的元素,其containing block的计算方式则不同。它会首先向上查找最近的position不为static的祖先元素,然后根据这个祖先元素的display属性来确定具体的containing block。如果祖先元素是块级元素,则absolute元素的containing block为该块级元素的padding box;如果是行内元素,则为包含该行内元素内所有行内元素的padding box。如果找不到这样的祖先元素,那么absolute元素的containing block会被设置为initial containing block,即原点与canvas重合、大小和viewport相同的矩形。
  2. 计算方式

    • 在正常流中,元素的尺寸和位置是相对于其containing block的content box来计算的。这意味着元素会占据其包含块内容区域的一部分,并且其位置会受到包含块内其他元素的影响。
    • 对于absolute元素,其尺寸和位置是相对于其特定的containing block来计算的,这个特定的containing block可能是块级元素的padding box或者行内元素的包含所有行内元素的padding box等。由于absolute元素脱离了正常流,因此其位置不会受到其他元素的影响,而是直接相对于其containing block进行定位。

综上所述,absolute的containing block计算方式与正常流的主要区别在于定位参考和计算方式的不同。这些差异使得开发者能够更灵活地控制元素的定位和布局,从而实现复杂的页面效果。

标签:box,containing,流有,元素,计算,block,absolute
From: https://www.cnblogs.com/ai888/p/18676194

相关文章

  • inline、block、inline-block这三个属性值有什么区别?
    在前端开发中,CSS的display属性用于决定元素如何在页面上呈现。inline、block和inline-block是这个属性的三个常见值,它们各自具有不同的特点和行为。以下是这三个属性值的详细区别:block(块级元素):块级元素会独占一行,即在其前后创建新的行。块级元素会尽可能宽,默认填满其父元素......
  • YoloV8改进:注意力改进|Block改进|ESSAformer,用于高光谱图像超分辨率的高效Transformer
    摘要一、论文介绍高光谱图像超分辨率的重要性:高光谱成像技术通过密集采样光谱特征,为材料区分提供丰富的光谱和空间结构信息,广泛应用于各领域。高光谱图像超分辨率(HSI-SR)旨在从低分辨率HSI生成高分辨率HSI。传统方法的局限性:传统方法依赖手工制作的先验,如低秩近似和稀疏......
  • Codeblocks20.03修改字体的设置问题 [clone]
    最近想用codeblocks重新学习一下c语言,于是下载了最新的20.03版本,但是codeblocks的默认主题实在是不舒服,所以想去找找codeblocks的主题和字体如何配置,配置主题上网搜搜可以得到答案,本文不再赘述,重点是更换字体时出现以下问题:点掉这个框之后,再次打开时还是默认字体。于是到网上搜......
  • CDS标准视图:催款冻结 I_DunningBlockingReasonCode
    视图名称:催款冻结I_DunningBlockingReasonCode视图类型:基础视图视图代码:点击查看代码@EndUserText.label:'DunningBlockingReasonCode'@Analytics:{dataCategory:#DIMENSION}@VDM.viewType:#BASIC@AbapCatalog.sqlViewName:'IFIDUNBLOCKREAS'@AbapCatalog.co......
  • CDS标准视图:催款冻结描述 I_DunningBlockingReasonText
    视图名称:催款冻结描述I_DunningBlockingReasonText视图类型:基础视图视图代码:点击查看代码@EndUserText.label:'DunningBlockingReason-Text'@Analytics.dataExtraction.enabled:true@VDM.viewType:#BASIC@AbapCatalog.sqlViewName:'IFIDUNBLREASONT'@AbapCatalo......
  • CDS标准视图:付款锁定原因描述 I_PaymentBlockingReasonText
    视图名称:付款锁定原因描述I_PaymentBlockingReasonText视图类型:基础视图代码:点击查看代码//Documentationaboutannotationscanbefoundathttp://help.sap.comsearchingforCDSannotations//InsertedbyVDMCDSSuitePlugin@ObjectModel.usageType.sizeCategory......
  • CDS标准视图:付款锁定原因 I_PaymentBlockingReason
    视图名称:付款锁定原因I_PaymentBlockingReason视图类型:基础视图视图代码:点击查看代码//Documentationaboutannotationscanbefoundathttp://help.sap.comsearchingforCDSannotations//InsertedbyVDMCDSSuitePlugin@ObjectModel.usageType.sizeCategory:#S......
  • 【Block总结】门控结构的MLP结构
    模块记录一个具有门控模块的MLP,这个模块可以降低MLP的参数量,还可以提高模型的精度,很多模型都用到了这样的结构,代码如下:classGate(nn.Module):def__init__(self,dim):super().__init__()self.norm=nn.LayerNorm(dim)self.conv=nn.C......
  • 【Block总结】SGE注意力机制
    一、论文介绍论文链接:https://arxiv.org/pdf/1905.09646研究背景:论文首先提及了在计算机视觉领域,特征分组的思想由来已久,并介绍了相关背景。研究目的:旨在通过引入SGE模块,改善特征图的空间分布,提升模型对特定语义特征的表示能力。实验平台:实验代码和预训练模型可在https://......
  • YOLO11改进:block优化 | PKIBlock多尺度卷积核,助力小目标涨点 | CVPR2024 PKINet 遥感
     ......