当前位置: 首页 > 面试题库 >

CSS:位置:固定在位置内部:固定

百里景山
2023-03-14
问题内容

好的,我注意到了一些东西,但是在CSS规范中找不到。样式化元素position: fixed将相对于浏览器视口绝对定位。如果将固定位置的元素放置在另一个元素内会怎样?CSS示例如下:

.fixed {
    position: fixed;
    width: 100px;
    height: 100px;
    background: red;
}

#parent { right 100px;  padding: 40px; }

.fixed .fixed { background: blue; }

和HTML:

<div id="parent" class="fixed"> <div class="fixed"> </div> </div>

据我所知,该元素相对于其最近的父元素也是固定位置的。这在所有浏览器中都可以使用吗?另外,它是错误还是故意行为?

到目前为止,我在互联网上没有找到关于此主题的任何内容,只是“固定位置使其固定在页面上”。


问题答案:

固定和定位是两个独立的部分。它们的位置与绝对定位的元素相同:相对于其包含的block。但是与绝对定位的元素相反,它们相对于视口保持固定在该位置(即,滚动时它们不会移动):

盒子的位置是根据“绝对”模型计算得出的,但除此之外,盒子相对于某些参考是固定的。

定位

包含块]的定义说:

如果元素具有“位置:固定”,则在连续媒体(…)的情况下,包含块由视口建立

如果元素具有“位置:绝对”,则包含块由最近的祖先建立,其“位置”为“绝对”,“相对”或“固定”(…)

这表明,尽管它们的定位算法是相同的(他们都位于相对于他们的包含块),用于固定的元件包含块总是视口,与绝对定位元素相反,所以它们应该相对于被定位 的是
和而不是任何绝对或固定位置的元素。

事实上,确实如此。例如,如果将添加top: 20px.fixed,则两个div都将位于距视口顶部20个像素的位置。嵌套的固定div不会从其父对象的顶部向下放置20个像素。

在这种情况下看不到的原因是因为您实际上没有设置任何left / top / right / bottom属性,所以它们的位置由它们在流中的位置决定(它们的“静态位置””),正如我的第一句话所说,它是根据绝对模型完成的。



 类似资料:
  • all内包含left,right,其中因为left内容多,所以all整体是有上下滚动的滚动条的,怎么使right一直固定显示。

  • 问题内容: 我有一个position:fixed的元素,所以随页面滚动,但是我想要它如何。当用户向上滚动时,我希望元素在某个点处停止滚动,比如说距页面顶部250px时,这可能吗?任何帮助或建议都将有所帮助,谢谢! 我有一种感觉,我需要使用jquery来做到这一点。我尝试获取用户所在位置的滚动或位置,但感到非常困惑,是否有任何jQuery解决方案? 问题答案: 这是我刚刚编写的一个快速jQuery插

  • 问题内容: 是否可以在Mobile Safari中相对于视口定位固定的元素?正如许多人所指出的那样,这是行不通的,但是Gmail只是提供了几乎是我想要的解决方案-在邮件视图中查看浮动菜单栏。 在JavaScript中获取实时滚动事件也是一种合理的解决方案。 问题答案: iOS 5 支持position:fixed

  • 问题内容: 是否可以在Mobile Safari中相对于视口定位固定的元素?正如许多人所指出的那样,这是行不通的,但是Gmail只是提供了几乎是我想要的解决方案-请在邮件视图中查看浮动菜单栏。 在JavaScript中获取实时滚动事件也是一种合理的解决方案。 问题答案: 这个固定位置的div可以仅用两行代码来实现,该代码将div滚动移动到页面底部。

  • 问题内容: 我想创建一个以动态宽度和高度为中心的弹出框。我曾经为此。没有它,则水平居中,但不能垂直居中。添加后,它甚至没有水平居中。 这是完整的设置: 如何使用CSS在屏幕上将此框居中? 问题答案: 基本上,您需要设置div 并将其居中放置在div的左上角。您还需要将和设置为div的高度和宽度的负一半,以将中心移到div的中间。 因此,在提供(标准模式)的情况下,此操作应: 或者,如果你不关心垂直

  • 问题内容: 我已经有一段时间了,这似乎是一个Chrome重绘错误,尚未修复。因此,我正在寻找任何权宜之计。 主要问题是页面上的元素具有使用以下内容的背景图像时: 如果另一个元素固定并具有子视频元素,则它将导致具有背景图像的元素消失。 现在,它可以在Safari(以及Firefox和IE)中正常运行,因此这并不是Webkit的问题。我已经应用了一些没有用的建议属性。 目前,我的解决方案只是通过媒体查