首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么基于绝对父级而不是直接相对父级应用对象边界

基于绝对父级而不是直接相对父级应用对象边界的原因是为了实现更好的封装和可维护性。

绝对父级是指在应用对象的层次结构中,选择最高级别的父级作为边界。这样做的好处是可以将相关的功能和属性封装在一个较高级别的父级中,使得代码更加模块化和可复用。同时,绝对父级边界也可以提供更好的可维护性,因为当需要修改或扩展功能时,只需要关注父级对象的实现,而不需要修改其子级对象。

相对父级是指在应用对象的层次结构中,选择直接的父级作为边界。这种方式可能导致功能和属性分散在不同的父级对象中,增加了代码的复杂性和维护的难度。当需要修改或扩展功能时,可能需要同时修改多个父级对象,增加了代码的耦合性和风险。

基于绝对父级而不是直接相对父级应用对象边界的方法可以提高代码的可读性、可维护性和可扩展性。它可以将相关的功能和属性组织在一个较高级别的父级对象中,使得代码更加清晰和易于理解。同时,这种方法也可以减少代码的耦合性,降低修改和扩展功能时的风险。

在云计算领域中,基于绝对父级而不是直接相对父级应用对象边界的方法可以应用于各种云服务的设计和实现中。例如,在设计云原生应用时,可以将相关的功能和属性封装在一个较高级别的服务对象中,提高应用的可维护性和可扩展性。在开发云存储服务时,可以将不同类型的存储功能组织在一个较高级别的存储服务对象中,方便用户进行管理和使用。

腾讯云相关产品和产品介绍链接地址:

  • 云原生:腾讯云原生应用开发平台(https://cloud.tencent.com/product/tke)
  • 云存储:腾讯云对象存储(https://cloud.tencent.com/product/cos)
  • 云服务:腾讯云产品与服务(https://cloud.tencent.com/product)
  • 云计算:腾讯云计算(https://cloud.tencent.com/solution/computing)
  • 人工智能:腾讯云人工智能(https://cloud.tencent.com/solution/ai)
  • 物联网:腾讯云物联网(https://cloud.tencent.com/solution/iot)
  • 移动开发:腾讯云移动开发(https://cloud.tencent.com/solution/mobile-development)
  • 数据库:腾讯云数据库(https://cloud.tencent.com/product/cdb)
  • 网络安全:腾讯云安全产品与服务(https://cloud.tencent.com/solution/security)
  • 音视频:腾讯云音视频(https://cloud.tencent.com/solution/media)
  • 多媒体处理:腾讯云多媒体处理(https://cloud.tencent.com/product/mps)
  • 区块链:腾讯云区块链(https://cloud.tencent.com/solution/blockchain)
  • 网络通信:腾讯云网络通信(https://cloud.tencent.com/solution/communication)
  • 服务器运维:腾讯云服务器运维(https://cloud.tencent.com/product/cvm)
  • 软件测试:腾讯云软件测试(https://cloud.tencent.com/product/qcloudtest)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

问题总结

关于CSS中position定位: 开始学习的时候简单粗暴的总结了 absolute; 绝对定位(相对于浏览器边界),拉动滚动条,位置随之改变。...relative(相对定位) 对象不可层叠、不脱离文档流,参考自身静态位置通过 top,bottom,left,right 定位,并且可以通过z-index进行层次分级。...选取其最近一个最有定位设置的对象进行绝对定位,如果对象没有设置定位属性,absolute元素将以body坐标原点进行定位,可以通过z-index进行层次分级。    ...fixed(固定定位) 这里所固定的参照对像是可视窗口并非是body或是元素。可通过z-index进行层次分级。...注: CSS中定位的层叠分级:z-index: auto | namber; 总结: absolute; 绝对定位(相对于浏览器边界) 选取其最近一个最有定位设置的对象进行绝对定位,如果对象没有设置定位属性

63150

寒假提升 | Day9 CSS 第七部分

,子元素的绝对定位都是相对元素进行定位 如果希望子元素相对元素进行定位,又不希望元素脱标,常用解决方案是: 元素设置position: relative(让元素成为定位元素,而且元素不脱离标准流...行内块(inline-block)的很多特性都会消失 不再给元素汇报宽高数据 脱标元素内部默认还是按照标准流布局 绝对定位元素(absolutely positioned element)...定位参照对象的高度 = top + bottom + margin-top + margin-bottom + 绝对定位元素的实际占用高度 如果希望绝对定位元素的宽高和定位参照对象一样,可以给绝对定位元素设置以下属性...粘性定位 sticky 另外还有一个定位的值是position: sticky,比起其他定位值要新一些. sticky是一个大家期待已久的属性; 可以看做是相对定位和固定(绝对)定位的结合体; 它允许被定位的元素表现得像相对定位一样...浮动规则 浮动规则一 元素一旦浮动后, 脱离标准流 朝着向左或向右方向移动,直到自己的边界紧贴着包含块(一般是元素)或者其他浮动元素的边界为止 定位元素会层叠在浮动元素上面 浮动规则二 如果元素是向左

78820
  • CSS 定位布局 - 相对绝对、固定三种定位

    在上面相对定位的示例中,元素相对定位是基于文档流原来的位置进行偏移定位的。那么,绝对定位是基于什么的呢? 将刚才关于设置相对定位的代码改为绝对定位看看。 ?...此时绿色的div并不是基于最外层的div进行偏移的,简单来看是根据浏览器进行偏移的,也就是body。 这是为什么呢?可以放大浏览器再来看看绿色div的偏移,可能更加直观。...那么为什么绿色的div是与body进行偏移呢?因为绿色div的元素外层div没有设置定位。 如果我给外层div设置一下绝对定位,或者相对定位,是不是就可以以外层的div进行偏移呢?...上面已经测试使用了绝对定位,绝对定位基本是与元素进行偏移定位的。那么fixed固定定位按照描述应该就直接基于body进行偏移定位的。 那么这个怎么去验证呢?...先看看原来基于定位的绝对定位的div情况如下: ? 将绿色div的绝对定位改为固定定位,如下: ?

    3.5K40

    scrollwidth和clientwidth_vue监听页面滚动

    offsetHeight:获取对象相对于版面或由坐标 offsetParent 属性指定的坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的坐标的计算左侧位置...offsetTop:获取对象相对于版面或由 offsetTop 属性指定的坐标的计算顶端位置 event.clientX 相对文档的水平座标 event.clientY 相对文档的垂直座标...我们已经知道 offsetHeight 是自身元素的宽度, scrollHeight 是内部元素的绝对宽度,包含内部元素的隐藏的部分。...LEFT: 为从左向右移的位置,即挂件距离屏幕左边缘的距离; clientLeft 返回对象的offsetLeft属性值和到当前窗口左边的真实值之间的距离 offsetLeft 返回对象相对对象的布局或坐标的...left值,就是以对象左上角为坐标原点,向右和向下为X、Y轴正方向的x坐标 pixelLeft 设置或返回对象相对于窗口左边的位置 scrollWidth 是对象的实际内容的宽,不包边线宽度

    1.8K10

    前端入门4-CSS属性样式表声明正文-CSS属性样式表

    outline 设置盒子的轮廓,它看起来像边界,但不是盒模型的一部分,是画在边界框之外,外边距之内,但不会修改盒子的大小。...releative 相对定位 相对定位并不是相对元素,而是相对于该元素原本所应该在的位置作为参考点。 这点跟 Android 中的 ReleativeLayout 布局不一样,需要注意一下。...相对定位并不会,所以通常类元素设置了相对定位,让后代元素使用绝对定位,这样可以让后代元素可以脱离文档流,达到压盖的效果,同时还可以受限于类元素的范围管控。...absolute 绝对定位 参考的对象类或祖先元素中有使用了position的最近一个元素。...也就是说在类元素中,不管是使用了相对定位,绝对定位,固定定位之后,都可以用来作为后代绝对定位的参考元素。 但通常都是使用子绝相的模式,其他模式并没有什么意义。

    1.6K30

    HTML定位简介

    要实现这种效果基本方式就是为这个绝对定位的设置为相对定位或是绝对定位。那么绝对定位的坐标就会以为坐标起始点。 虽然是如此,但是这个坐标原点却并不是的坐标原点,这是一个很奇怪的坐标位置。...我们看到,这个图中为黑灰色区块,子为青色区块。相对定位,子绝对定位。子设置了顶部位移50个像素,左倾位移50个像素。...这里如果要产生位置移动,或是浏览器窗口大小有所变动都不会影响到这个绝对定位元素与相对定位元素之间的位置关系。这个子也不用调整数值。 这是一种很特别并且也是非常实用的应用方式。...绝对定位(absolute):将被赋予此定位方法的对象从文档流中拖出,使用left,right,top,bottom等属性相对于其最接 近的一个最有定位设置的对象进行绝对定位,如果对象没有设置定位属性...(3)总结两种定位的特征   绝对定位就像是把不同对象安排到了一栋高楼的不同楼层(一般指不是第一层,我们这里理解为文本流就放在首层),它们互不影响,但是它们怎么移动与你楼的地基和面积()有关。

    1.7K20

    再谈BOM和DOM(6):dom对象及event对象位值计算—如offsetXTop,clentX

    ,这个对象是距离调用offsetParent的元素中最近的(在包含层次中最靠近的),并且是已进行过CSS定位的容器元素。...如果当前元素的元素中没有进行CSS定位(position为absolute/relative),offsetParent为body 如果当前元素的元素中有CSS定位(position为absolute.../relative),offsetParent取中最近的元素     obj.offsetLeft   //合并后的高度 ,元素相对元素获整个版面,由offsetParent 属性指定的坐标的计算上侧位置...获取对象的滚动高度     scrollLeft 已滚动过去的宽度 设置或获取位于对象边界和窗口中目前可见内容的最左端之间的距离     scrollTop  设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离...js中getBoundingClientRect 当滚动位置发生了改变,top和left属性值就会随之立即发生变化(因此,它们的值是相对于视口的,不是绝对的)。

    1.5K20

    《CSS 世界》读书笔记-流与宽高

    作为前端新手,经常会坐在显示器前花很多很多时间去 “追” 视觉稿,也经常会在 “为什么这个属性不生效” 和 “为什么这个属性生效了但是不是我想要的效果” 之间摇摆,直到我开始看张鑫旭老师的《CSS 世界...从 W3C 的中对 normal flow 的介绍中,也可以看出,普通流是用来针对于盒模型来说的。 “文本流” 是针对元素内部文字(符)的排列来说的。两者都是 “流”,只是描述的对象不同。...使用基于表格的 CSS 布局,使我们能够轻松定义一个单元格的边界、背景等样式, 不会产生因为使用了 table 那样的制表标签所导致的语义化问题。...如果包含块的高度没有显式指定(即高度由内容决定),并且该元素不是绝对定位,则计算值为 auto,所以高度计算出来是 'auto' * 100 / 100 = NaN。...使用绝对定位时,需要注意绝对定位的宽高百分比计算是相对于 padding box 的,也就是说会把 padding 大小值计算在内,但是,非绝对定位元素则是相对于 content box 计算的。

    1.3K20

    一点点css的基础原理总结

    我们是不是会发现一个问题,都说absolute相对于最近的非static元素,但是我们做遮罩层的时候,是不是直接写宽高100%,而且还能有效。...因为,最近都没有一个非static的元素,absolute会相对于ICB 2.宽和高 无论什么时候,要记得水平方向,宽默认取全部;垂直方向,高默认取0。...所以,我们平时width100%就是占满全部,auto就是占满剩下的内容,height100%有时候设置了也没有用。 height没用的时候,因为他的元素是0或者被默认是0。...如何居中呢,显然是top或者bottom为0,这样子margin盒子边界元素(CB或者ICB)重叠 3.BFC 块盒子形成BFC的条件: 1.浮动元素 2.绝对定位元素 3.非块盒子的块容器(...(即是0) 3.兄弟元素,一个float 如果是一个float另一个不是,则正常情况下,没有float的那个直接无视float的那个,因为用了float脱离文档流。

    66810

    一点点css的基础原理总结0.前言1.包含块(CB)2.宽和高3.BFC4.行内元素5. 垂直方向的margin6.盒子模型

    对于margin需要注意了:margin-top和margin-bottom的百分比也是相对元素width,不是height。...我们是不是会发现一个问题,都说absolute相对于最近的非static元素,但是我们做遮罩层的时候,是不是直接写宽高100%,而且还能有效。...所以,我们平时width100%就是占满全部,auto就是占满剩下的内容,height100%有时候设置了也没有用。 height没用的时候,因为他的元素是0或者被默认是0。...如何居中呢,显然是top或者bottom为0,这样子margin盒子边界元素(CB或者ICB)重叠 3.BFC 块盒子形成BFC的条件: 1.浮动元素 2.绝对定位元素 3.非块盒子的块容器(...BFC可以解决这个问题,由bfc的特点:一个独立容器(甚至可以说是一个独立的margin-box),当然不会无缘无故地穿透盒子 ?

    72220

    Web前端最全面试宝典- CSS篇

    1)div定义height。 2)结尾处加空div标签clear:both。 3)div定义伪类:after和zoom。 4)div定义overflow:hidden。...2)两个相邻的外边距都是负数时,折叠结果是两者绝对值的较大值。 3)两个外边距一正一负时,折叠结果是两者的相加的和。 7. Sass、LESS是什么?大家为什么要使用他们? 他们是CSS预处理器。...8.position的值, relative和absolute分别是相对于谁进行定位的? absolute 生成绝对定位的元素, 相对于最近一的 定位不是 static 的元素来进行定位。...fixed (老IE不支持) 生成绝对定位的元素,相对于浏览器窗口进行定位。 relative 生成相对定位的元素,相对于其在普通流中的位置进行定位。...常规布局是基于块和内联流方向,Flex布局是基于flex-flow流可以很方便的用来做局中,能对不同屏幕大小自适应。 在布局上有了比以前更加灵活的空间。 15.经常遇到的浏览器的兼容性有哪些?

    1.1K10

    前端成神之路-定位

    定位(position) 目标 理解 能说出为什么要用定位 能说出定位的4种分类 能说出四种定位的各自特点 能说出我们为什么常用子绝相布局 应用 能写出淘宝轮播图布局 1....因为绝对定位的盒子是拼爹的,所以要和搭配一起来使用。 定位口诀 —— 子绝相 刚才咱们说过,绝对定位,要和带有定位的搭配使用,那么要用什么定位呢?...子绝相 —— 子绝对定位,要用相对定位。 子绝相是使用绝对定位的口诀,要牢牢记住! 疑问:为什么在布局时,子元素使用绝对定位时,元素就要用相对定位呢?...盒子应该使用相对定位,因为相对定位不脱标,后续盒子仍然以标准流的方式对待它。 如果盒子也使用绝对定位,会完全脱标,那么下方的广告盒子会上移,这显然不是我们想要的。...不能 基本单独使用 绝对定位absolute 完全脱标,不占有位置 相对于定位移动位置 能 要和定位元素搭配使用 固定定位fixed 完全脱标,不占有位置 相对于浏览器移动位置 能 单独使用,

    1.9K20

    容易被误解的overflow:hidden

    普通元素在水平方向上的溢出被隐藏,垂直方向上撑开元素。也就是说,普通元素的表现符合我们的预期,绝对定位元素并不如很多人想当然的那样被隐藏。 理论依据 那么,这个原理到底是什么呢?...简单翻译一下: 此属性(overflow)规定,当一个块元素容器的内容溢出元素的盒模型边界时是否对其进行剪裁。它(此属性)影响被应用元素的所有内容的剪裁。...因为他们的“包含块”是美国军方不是日本法院。...回到我的demo,overflow的元素位于相对定位的元素与绝对定位元素之间,因此根据规定它不能剪裁绝对定位的子元素。也就是说爷爷相对定位,老爸规定溢出隐藏,可是儿子是绝对定位元素。...这时候儿子是否隐藏由爷爷决定,不是老爸。 应用场景 明白了这个理论,对我们的工作有什么指导意义呢?

    3.5K110

    CSS 面试要点:定位(Positioning)

    # 文档流 默认情况下,块元素的内容宽度就是元素宽的 100%,且与其内容一样高。内联元素的宽高与内容宽高一样。不能对内联元素设置宽度或高度——它们只是位于块元素的内容中。...同时,元素的位置发生变化,top,bottom,left 和 right 以不同的方式在绝对定位,它们指定元素应距离每个包含元素的边的距离,不是指定元素应该移入的分析。...绝对定位元素在 HTML 源代码中,是被放在 中的,但是在最终的布局里面,它离页面 (不是 ) 的左边界、上边界有 30px 的距离。...通过设置其中一个元素的定位属性 —— 也就是包含绝对定位元素的那个元素(如果要设置绝对定位元素的相对元素,那么这个元素一定要包含绝对定位元素)。...> 元素或其最近的定位祖先,固定定位固定元素则是相对于浏览器视口本身。

    59710

    JS 获取浏览器窗口大小clientWidth、offsetWidth、scrollWidth「建议收藏」

    offsetHeight:获取对象相对于版面或由坐标 offsetParent 属性指定的坐标的高度 offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的坐标的计算左侧位置...offsetTop:获取对象相对于版面或由 offsetTop 属性指定的坐标的计算顶端位置 event.clientX 相对文档的水平座标 event.clientY 相对文档的垂直座标 event.offsetX...我们已经知道 offsetHeight 是自身元素的宽度, scrollHeight 是内部元素的绝对宽度,包含内部元素的隐藏的部分。...LEFT: 为从左向右移的位置,即挂件距离屏幕左边缘的距离; clientLeft 返回对象的offsetLeft属性值和到当前窗口左边的真实值之间的距离 offsetLeft 返回对象相对对象的布局或坐标的...left值,就是以对象左上角为坐标原点,向右和向下为X、Y轴正方向的x坐标 pixelLeft 设置或返回对象相对于窗口左边的位置 scrollWidth 是对象的实际内容的宽,不包边线宽度

    7.2K20

    你是否彻底了解margin属性?

    margin在块元素下,他的性能可以完全体现,上下左右任你设定。且记住块元素的margin的参照基准是前一个元素即相对于自身之前的元素有margin距离。...如果元素是第一个元素,则就是相对元素的margin距离(但第一个元素相对元素margin-top元素又没有设定padding-top/border-top的话要需要印证上面的垂直外边距合并的知识...原理分析:块对象默认的display属性值是block,当设置了浮动的同时,还设置了它的外边距就会出现这种情况。也许你会问:“为什么之后的对象和第一个对象之间就不存在双倍边距的Bug”?...因为浮动都有其相对应的对象,只有相对于其父对象的浮动对象才会出现这样的问题。第一个对象相对对象的,之后对象相对第一个对象的,所以之后对象在设置后不会出现问题。...解决方法:给li设置margin-left,不是给ul/ol设置margin-left。

    86920
    领券