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

为什么将一个绝对的positioned : does元素设置为一个内联元素会使它溢出它的父元素?

将一个绝对定位(positioned: absolute)的元素设置为内联元素(display: inline)会导致它溢出其父元素的原因是,内联元素不会创建一个新的块级格式化上下文(block formatting context),而绝对定位的元素会脱离文档流,并相对于其最近的非静态定位的祖先元素进行定位。

当一个绝对定位的元素设置为内联元素时,它的定位不再受到父元素的边界限制,而是相对于父元素的内容框进行定位。由于内联元素不会创建一个新的块级格式化上下文,其父元素的边界仍然是基于其包含块(containing block)的边界计算的。因此,当绝对定位的内联元素超出其父元素的边界时,它会溢出父元素。

解决这个问题的方法是将绝对定位的元素设置为块级元素(display: block)或行内块元素(display: inline-block),这样它会创建一个新的块级格式化上下文,并且其定位将相对于该块级格式化上下文进行计算,不会溢出父元素。

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

  • 云服务器(CVM):提供弹性计算能力,满足各类业务需求。详情请参考:https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版(CDB):提供稳定可靠的云端数据库服务。详情请参考:https://cloud.tencent.com/product/cdb_mysql
  • 云原生容器服务(TKE):帮助用户快速构建、部署和管理容器化应用。详情请参考:https://cloud.tencent.com/product/tke
  • 人工智能机器学习平台(AI Lab):提供丰富的人工智能算法和模型,支持开发者进行机器学习和深度学习的应用开发。详情请参考:https://cloud.tencent.com/product/ailab
  • 物联网开发平台(IoT Explorer):提供全面的物联网解决方案,帮助用户快速构建和管理物联网设备。详情请参考:https://cloud.tencent.com/product/iothub
  • 移动应用开发平台(MADP):提供一站式移动应用开发和运营服务,支持跨平台开发和移动应用管理。详情请参考:https://cloud.tencent.com/product/madp
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【CSS 学习笔记】CSS元素和布局

有且只有一个属性设为 auto: 如果三个属性中某个值设为 auto,而余下两个属性设为特定值,那么设置 auto 属性值会自动确定所需长度,从而使元素总宽度(上面提到7种属性相加)等于容器...假设行内元素内容区高 20px,但是 line-height 只有 14px,那么元素分配高度只有 14px,就会出现内容去溢出情况(覆盖其他元素)。...替换元素 替换元素 margin, border. padding 会影响行内框宽度和高度 可以对替换元素设置 width 和 height。如果不设置宽高,会使元素本来宽度和高度。...有效值如下: 值 描述 none 此元素不会被显示。 block 此元素显示块级元素,此元素前后会带有换行符。 inline 默认。此元素会被显示内联元素元素前后没有换行符。...inline-block:会使元素表现像行内非替换元素一样,是行内元素,但是可以设置宽高,margin, border, padding 会影响行内框高度 run-in:使某些块级元素成为下一个元素行内元素

1.1K20
  • CSS(五)

    设置容器 overflow: hidden 属性,可以使容器仍然容纳浮动元素,如下图所示。 2. 让元素也浮动。(这种做法需要额外设置容器宽度) 3....: 溢出隐藏: 如容器设置了 height 属性,而子元素超出容器高度,使用 overflow: hidden 可以隐藏溢出部分 清除浮动: 使用 overflow: hidden 使得容器仍然包含浮动子元素...一个 static 元素表示它不会被 “positioned”,一个 position 属性被设置其他值元素表示它会被 “positioned”。...在一个相对定位(position属性relative)元素设置 top 、 right 、 bottom 和 left 属性会使其偏离其正常位置。...如果绝对定位(position 属性 absolute)元素没有 “positioned” 祖先元素,那么它是相对于文档 body 元素,并且它会随着页面滚动而移动。

    1K20

    寒假提升 | Day9 CSS 第七部分

    定位元素(positioned element) position值不为static元素 也就是position值relative、absolute、fixed元素 子绝相(了解) 在绝大数情况下...) 子元素设置position: absolute 简称为“子绝相” 当然,也有 子绝绝 子绝固 不要死记 1.2. position设置absolute/fixed特性 position设置...粘性定位 sticky 另外还有一个定位值是position: sticky,比起其他定位值要新一些. sticky是一个大家期待已久属性; 可以看做是相对定位和固定(绝对)定位结合体; 允许被定位元素表现得像相对定位一样...认识浮动 float 属性可以指定一个元素应沿其容器左侧或右侧放置,允许文本和内联元素环绕。...(右)浮动,浮动元素左(右)边界不能超出包含块左(右)边界 浮动规则三 规则三: 浮动元素之间不能层叠 如果一个元素浮动,另一个浮动元素已经在那个位置了,后浮动元素紧贴着前一个浮动元素(左浮找左浮

    78820

    这是对position讲解最通俗易懂版本了。

    一个 static 元素表示它不会被“positioned”,一个 position 属性被设置其他值元素表示它会被“positioned”。... 在一个相对定位(position属性relative)元素设置 top、 right 、 bottom 和 left 属性会使其偏离其正常位置...如果绝对定位(position属性absolute)元素没有“positioned”祖先元素,那么它是相对于文档 body 元素,并且它会随着页面滚动而移动。...如果它是 position: static; ,那么绝对定位子元素会跳过直接相对于body元素定位。 这个元素绝对定位。...相对于元素定位。 这部分比较难理解,但它是创造优秀布局所必需知识。下一页我们会使用 position做更具体例子。

    98760

    104道 CSS 面试题,助你查漏补缺(下)

    右边元素margin-left设置200px,宽度设置auto(默认为auto,撑满整个元素)。...,元素设置相对定位。...右边元素 margin-left 设置 200px,宽度设置 auto(默认为 auto,撑满整个元素)。...-(3)第三种是利用绝对定位布局方式,元素设置相对定位。左边元素设置 absolute 定位,并且宽度设置 200px。右边元素 margin-left 设置 200px。...-(4)第四种还是利用绝对定位方式,元素设置相对定位。左边元素宽度设置 200px,右边元素设置绝对定位,左边定位 200px,其余方向定位 0。 101.css 三栏布局实现?

    2.4K30

    前端学习笔记—CSS

    解决方法见文章下方浮动解析,如设置元素清除浮动 设置float浮动后元素不会出现内部子元素上下margin合并问题,也可以清除第一个元素上边距和最后一个元素下边距被元素剥夺问题 内容溢出问题...定位 定位元素positioned element)是其计算后位置属性 relative, absolute, fixed 或 sticky 一个元素(换句话说,除static以外任何东西)。...相对定位元素(relatively positioned element)是计算后位置属性 relative元素,会占用原来位置并留下空白。...绝对定位元素(absolutely positioned element)是计算后位置属性 absolute 元素绝对定位必须是作用于级或往上层级非static模式布局里面才生效。...粘性定位元素(stickily positioned element)是计算后位置属性 sticky 元素。 注:所有的定位都是同一层级。建议大模块用浮动,微调用定位。

    12310

    【面试题】104道 CSS 面试题,助你查漏补缺(下)

    右边元素margin-left设置200px,宽度设置auto(默认为auto,撑满整个元素)。...,元素设置相对定位。...右边元素 margin-left 设置 200px,宽度设置 auto(默认为 auto,撑满整个元素)。...-(3)第三种是利用绝对定位布局方式,元素设置相对定位。左边元素设置 absolute 定位,并且宽度设置 200px。右边元素 margin-left 设置 200px。...-(4)第四种还是利用绝对定位方式,元素设置相对定位。左边元素宽度设置 200px,右边元素设置绝对定位,左边定位 200px,其余方向定位 0。 101.css 三栏布局实现?

    2.5K40

    css必知几个底层知识和技巧

    常见内联元素有:display设置inline,inline-block,inline-table元素 内联盒模型: 内容区域:可以理解文本选中背景色区域(重点) 内联盒子:内联标签或者纯文本...120px; box-sizing: border-box; 2.对于内联元素,padding对视觉层和布局层都会有影响,如果元素设置overflow:auto,则内联元素垂直padding可能会使元素出现滚动条...box尺寸时触发滚动条显示 2.margin合并条件 块级元素,但不包含浮动和绝对定位元素 在默认文档流下只出现在垂直方向 margin合并三种场景 相邻兄弟元素 级和第一个/最后一个元素 *...解决方案: 设置块级格式化上下文元素 元素设置border-top/bottom值 元素设置padding-top/bottom值 元素设置高度 空块级元素margin合并 3.margin...非替换元素垂直margin是无效 对于内联替换元素,垂直margin有效,并且没有margin合并问题,所以永远不会发生margin合并 内联特性导致margin失效:一个容器里面有一个图片,图片设置

    2.1K20

    容易被误解overflow:hidden

    overflow:hidden元素之外,但是依然被显示了。...而普通元素在水平方向上溢出被隐藏,垂直方向上撑开元素。也就是说,普通元素表现符合我们预期,而绝对定位元素并不如很多人想当然那样被隐藏。 理论依据 那么,这个原理到底是什么呢?...简单翻译一下: 此属性(overflow)规定,当一个元素容器内容溢出元素盒模型边界时是否对其进行剪裁。(此属性)影响被应用元素所有内容剪裁。...但如果后代元素包含块是整个视区(通常指浏览器内容可视区域,可以理解body)或者是该容器(定义了overflow元素元素时,则不受影响。 即使是我重新整理过语言,还是感觉有点绕。...翻译: 一个绝对定位后代块元素,部分位于容器之外。

    3.5K110

    如何把控css方向感

    常见内联元素有:display设置inline,inline-block,inline-table元素 内联盒模型: 内容区域:可以理解文本选中背景色区域(重点) 内联盒子:内联标签或者纯文本...行框盒子:由内联盒子组成一行,每一行就是一个行框盒子 包含盒子:由行框盒子组成盒子 幽灵空白节点:在HTML5文档声明中,内联元素解析和渲染表现就像每个行框盒子前面有一个空白节点一样。...对视觉层和布局层都会有影响,如果元素设置overflow:auto,则内联元素垂直padding可能会使元素出现滚动条,否则如果元素设置设置overflow,只会在垂直方向上发生重叠,不会影响布局...但不包含浮动和绝对定位元素 在默认文档流下只出现在垂直方向 margin合并三种场景 相邻兄弟元素 级和第一个/最后一个元素 * 解决方案: 设置块级格式化上下文元素...非替换元素垂直margin是无效 对于内联替换元素,垂直margin有效,并且没有margin合并问题,所以永远不会发生margin合并 内联特性导致margin失效:一个容器里面有一个图片,图片设置

    1.2K10

    面试官:CSS 面试题集锦

    z-index 属性设置元素堆叠顺序,拥有更高堆叠顺序元素总是会处于堆叠顺序较低元素前面 该属性设置一个定位元素沿着 z 轴位置,z 轴定义垂直延申到显示区轴,如果正数,则离用户更加近...再向上,从这个元素元素开始向上找,没有找到一个 tagName div 且 class 中有 ready 元素,就把原来元素从集合中删去。...,即display:inline作用即可以一个块级元素转换成行内元素,那么这个块级元素将不能再设置宽和高以及上下方向margin和padding。...特殊之处在于它不用像absolute疯狂“找爸爸”,天生参照于浏览器窗口!当对象设置固定定位后,该对象即处于浏览器窗口画面中固定位置,无视文档长短、窗口大小和滚条滚动。...transform使浏览器元素创建一个 GPU 图层 translate改变位置时,元素依然会占据其原始空间 而改变绝对定位会触发重新布局,进而触发重绘和复合。 改变绝对定位会使用到 CPU。

    3.3K30

    104 道 CSS 面试题 - 知识点总结

    回答: flex布局是CSS3新增一种布局方式,我们可以通过一个元素display属性值设置flex从而使成为一个flex容器,所有子元素都会成为项目。...右边元素margin-left设置200px,宽度设置auto(默认为auto,撑满整个元素)。...,元素设置相对定位。...-(3)第三种是利用绝对定位布局方式,元素设置相对定位。左边元素设置 absolute 定位,并且宽度设置 200px。右边元素 margin-left 设置 200px。...-(4)第四种还是利用绝对定位方式,元素设置相对定位。左边元素宽度设置 200px,右边元素设置绝对定位,左边定位 200px,其余方向定位 0。 101.css 三栏布局实现?

    4.3K10

    CSS常见样式(一)

    补充:如果想让一个元素可以设置宽度高度,又让它以行内形式显示,我们可以设置displayinline-block。 2、什么是 CSS 继承? 哪些属性能继承,哪些不能?...解决文本溢出问题,我们需要设置两个属性: white-space: nowrap ,强制文本在一行内显示 overflow: hidden ,溢出内容改为隐藏 { white-space: nowrap...; overflow: hidden; } 补充:若想将溢出内容显示省略标记......最后我们还需要设置text-overflow属性: text-overflow: ellipsis ,文本溢出内容显示省略标记...在使用“em”作单位时,一定需要知道其父元素设置,因为“em”就是一个相对值,而且是一个相对于元素值。...这个单位可谓集相对大小和绝对大小优点于一身,通过既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合连锁反应。目前,除了IE8及更早版本外,所有浏览器均已支持rem。

    1.7K30

    104道 CSS 面试题,助你查漏补缺

    回答: flex布局是CSS3新增一种布局方式,我们可以通过一个元素display属性值设置flex从而使成为一个flex 容器,所有子元素都会成为项目。...右边元素margin-left设置200px,宽度设置auto(默认为auto,撑满整个元素)。...,元素设置相对定位。...-(3)第三种是利用绝对定位布局方式,元素设置相对定位。左边元素设置 absolute 定位,并且宽度设置 200px。右边元素 margin-left 设置 200px。...-(4)第四种还是利用绝对定位方式,元素设置相对定位。左边元素宽度设置 200px,右边元素设置绝对定位,左边定位 200px,其余方向定位 0。 101.css 三栏布局实现?

    1.8K10

    wxss学习系列《一》定位(position),布局(Layout)

    元素扔保持其未定位前形状,原来所占空间扔保留。 3.absolute:元素框从文档流中删除,并相对于其包含块定位,包含快可能是文档中一个元素或者初始包含块。...4.fixed:元素表现类似于position 设置absolute,不过其包含块是视窗本身。 5.inherit:继承元素position位置。...六.clip:剪裁绝对元素定位。定义一个剪裁矩形,内容多出来东西根据overflow值来处理。注意点:必须将position设置absolute或者fixed时候此属性才会生效 1.取值。...(小程序推荐使用伸缩盒子) 3.inline:指定对象内联元素。 4.inline-block:指定对象内联元素。 5.inline-flex:将对象作为内联块级弹性伸缩盒显示。...6.inline-table:指定对象作为内联元素表格。 7.list-item:指定对象列表项目。 8.none:隐藏对象。不占物理位置。 9.table:指定对象最为块元素表格。

    2.5K100

    CSS小技能:常用样式属性、选择器分类、盒子模型

    访问过后样式设置 定位相关样式 1) position: absolute 绝对定位:相对标签左上角坐标进行定位 relative 相对定位:相对当前标签默认出现位置进行偏移 2...是每个元素默认属性 相对定位 (Relative positioning) 允许我们相对于元素在正常文档流中位置移动 绝对定位 (Absolute positioning) 元素完全从页面的正常布局流...我们可以元素相对于页面的元素边缘固定,或者相对于该元素最近被定位祖先元素 (nearest positioned ancestor element)。...固定定位 (Fixed positioning) 一个元素相对浏览器视口(viewport,网页可视区域)固定,而不是相对另外一个元素。...positioning) 如果想相对于节点进行定位:最好设置节点positionrelative, 原则“子绝相”。

    1.8K10

    二、CSS

    css元素溢出 当子元素尺寸超过元素尺寸时,需要设置元素显示溢出元素方式,设置方法是通过overflow属性来设置。 overflow设置项:  1、visible 默认值。...解决内联元素间隙方法  1、去掉内联元素之间换行 2、内联元素设置font-size0,内联元素自身再设置font-size 内联元素 内联元素,也叫行内块元素,是新增元素类型,现有元素没有归于此类别的...,不占据文档流位置,可以理解漂浮在文档流上方,相对于上一个设置了相对或者绝对或者固定定位元素来进行定位,如果找不到,则相对于body元素进行定位。...4、E:last-child:匹配元素类型E且是元素最后一个元素 5、E:only-child:匹配元素类型E且是元素中唯一元素 6、E:nth-of-type(n):匹配元素第n...个类型E元素 7、E:nth-last-of-type(n):匹配元素倒数第n个类型E元素(与上一项顺序相反) 8、E:first-of-type:匹配元素一个类型E元素 9

    1.8K70

    常见几种 CSS 水平垂直居中解决办法

    三、把容器当作表格单元 table可以设置vertical-align,自然能实现居中,所以我们可以模拟出一个table 使用display:table和display:table-cell方法,前者必须设置元素上...,后者必须设置在子元素上,因此我们要为需要定位文本再增加一个元素: html,body,div {margin: 0;padding:...在Internet Explorer 6中对元素进行定位后,如果再对子元素 进行百分比计算时,计算基础似乎是有继承性(如果定位数值是绝对数值没有这个问题,但是使用百分比计算基础将不再是该元素...2.建议设置overflow:auto来防止内容越界溢出。(查看溢出Overflow)。 3.在Windows Phone设备上不起作用。...up no space 3、块区域设置top: 0; left: 0; bottom: 0; right: 0;将给浏览器重新分配一个边界框,此时该块block填充其父元素所有可用空间,元素一般

    1.2K10
    领券