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

为什么“转换”会破坏“位置:固定”?

王嘉木
2023-03-14
问题内容

实际上,我已经找到导致问题的原因。我的问题是为什么现在加入transform到你的html, bodyposition: fixed

原始问题

对我来说,最简单的CSS任务似乎失败了:position: fixed不保持元素相对于视点的位置。考虑以下样式表:

.stay-there-dammit {
  position: fixed;
  right: 0px;
  left: 0px;
  z-index: 1030;
}

首次加载页面时,定位正确。但是,视口的任何更改(例如滚动或调整大小)都不会影响.stay-there- dammit元素的位置。可以这么说,它无法使其位置适应新的视口。

足够奇怪的是,该站点显示了如何position: fixed工作,实际上在我的浏览器中正常工作,没有任何问题!

因此,问题是: 是否有可能破坏固定定位的东西?

顺便说一句。我使用Bootstrap 3。

更新:

似乎是某些第三方应用程序对进行设置的转换html,body打破了position: fixed。这是我必须删除的内容:

html, body {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3, mirror=1);
  -webkit-transform: scale(1, 1);
     -moz-transform: scale(1, 1);
      -ms-transform: scale(1, 1);
       -o-transform: scale(1, 1);
          transform: scale(1, 1);
}

似乎以下问题解决了相同的问题:

使用-webkit-
transform时固定的位置不起作用

但为什么?


问题答案:

关于 为什么 ,迈耶(Meyer)从本文快速引述如下:

即使对于已设置为position:fixed的后代,转换后的元素也会创建一个包含块。换句话说,变换元素的固定位置后代的包含块是变换元素,而不是视口

自2011年以来一直存在这种古怪的行为。



 类似资料:
  • 问题内容: 在我的本地路由http:// localhost:9000 /#/ deviceDetail /中, 我有一个控制器来管理该视图。在进入该视图之前,我将一些变量设置为( 例如)。 一旦进入该视图,我就可以访问仪表盘属性,但是例如当我用键刷新页面时,该属性仪表盘就会丢失。 我试图将localSave变量保存,但是该方法遇到了循环引用问题。 有什么技巧可以解决吗? 问题答案: Angula

  • 我注意到一个问题,当从shell脚本循环运行多个adb命令时,大多数命令都不会执行。 这是一个示例脚本。 脚本名称:: 注释掉adb命令的输出 我连接了5台设备。在不使用theadab命令的情况下从bash文件运行时,这是输出。它遍历5个循环中的每一个。 包含ADB命令的循环输出 当取消注释adb shell命令时,它只会正确地迭代第一个循环的行。这是未注释adb命令时的输出: 有人能解释一下这种

  • 下面是两张PNG图片: 从视觉上看,它们是完全一样的--唯一的区别是一个在某些像素中有半透明的背景(你可以下载图像来检查)。 但是当我在JavaFX节点上使用这些图像作为图像光标时,我得到了以下结果: 在与问题搏斗了一会之后,我发现了解释这种差异--混合模式的算法: > “预期”的方法(例如,您可以在此浏览器中看到)是取每个通道的值之和,并用alpha值加权:。 “JavaFX游标”给出了不同的公

  • 这是我的密码: 将按如下方式生成: 都很好。一切都被包装成标签。 现在我需要将这一行添加到上面的代码中: 下面是生成的代码: 但令人惊讶的是,它将被错误地生成: 看到没?元素跳出了标记。我怎么能把所有的东西都放在里面?

  • 编辑1: 我目前从一个Main类调用它,如下所示: } 原文: 解释后代码如下: 我有一个带有JavaConfig的Spring应用程序,称之为主应用程序,它从库中导入另一个Spring JavaConfig类。这个导入的JavaConfig应该用一个方面包装在主应用程序中创建的任何数据源,这个方面有一个自动连接的LogDelegator。 只要主应用程序只包含一个数据源,一切都正常。但是,当我向

  • 问题内容: 为了使AngularJS在IE7和IE8中工作,我向ng-app元素添加了id =“ ng-app”和class =“ ng-app”: 过去一直如此,但是现在我将class =“ ng-app”添加到了两个不同的项目中,并且在这两个视图中不再在任何浏览器中呈现该视图。IE7 / 8兼容性的方式已更改吗?我正在使用CDN的1.0.2版本。 谢谢。 问题答案: 编辑说明: 添加docty