css - 使用 css translate -50% to center div 不适用于 Firefox 保存的详细信息弹出窗口

标签 css firefox transform

我使用以下 css 在屏幕上居中 div(没有固定的宽度或高度,因此不能使用定义的像素宽度和高度以及负边距)。

position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);

我刚刚意识到,当您在 Firefox 中保存表单的详细信息,然后尝试在我的 div 中填写表单时,Firefox 创建的包含您保存的详细信息的弹出窗口将忽略转换,并出现在如果未应用转换,则整个 div 所在的屏幕位置:翻译。

很难举出一个例子,因为它要求您将登录详细信息保存到站点,但是如果您转到保存详细信息的站点,并使用 transform: translate 移动容器,您将看到效果.

有没有办法强制 Firefox 的弹出窗口进行转换?或者我需要找到一种不同的方式来使我的 div 在屏幕上居中?

最佳答案

你的 CSS 应该是正确的,但位置应该固定在你的父 div 上

w3schools:position: absolute元素相对于它的第一个定位(非静态)祖先元素定位

.parent{
   position: fixed;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
}
.child{
    position: absolute;
    top: 50%;
    left: 50%; 
    width: 100px;
    height: 100px; 
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%); 
    -ms-transform: translate(-50%, -50%); 
    -o-transform: translate(-50%, -50%); 
    transform: translate(-50%, -50%); 
}

<div class="parent">
    <div class="child"></div>
</div>

关于css - 使用 css translate -50% to center div 不适用于 Firefox 保存的详细信息弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24778989/

相关文章:

javascript - AJAX jquery 没有响应并显示 div

html - 为什么打开菜单时 z-index 不起作用?

php - 如何使用php或javascript获取所有浏览器中当前打开的标签的url?

xslt - 使用 Apache Xalan 对 XML 进行 XSLT 转换后,命名空间前缀丢失

css - 使用 CSS 变换在悬停时缩放 SVG 矩形

javascript - IE9双下拉问题

c# - Unity和c#的反序列化,列表变成另一个列表

javascript - firefox 与 Chrome 之间的边距顶部是不同的

javascript - onMouseover 在 Firefox 中不起作用

jquery - CSS 'scale' 破坏了 jQuery 'fadeIn'