html - 为什么 "top: -50%;"在这种情况下不起作用,但 "left: -50%"却起作用

标签 html css

这是我的示例代码:

.container {
    position: absolute;
    left: 50%;
    top: 50%;
}

.container .box{
    position: relative;
    width: 200px;
    height: 200px;
    left: -50%;
    top: -50%;
    background-color: red;
}

.container 元素中,我没有设置宽度和高度。但是这个例子适用于水平面,但不适用于垂直面。实际上,top的计算值为-100px,但是浏览器并没有移动.box元素100px > 到顶部。

最佳答案

这看起来像是 webkit 中的错误。如果你搜索他们的错误跟踪器,你会看到它不时出现在那里( 1476223570 )。

他们甚至有一个针对此问题的测试用例,但出人意料地失败了。您可以在这里尝试:https://bug-14762-attachments.webkit.org/attachment.cgi?id=15679

关于html - 为什么 "top: -50%;"在这种情况下不起作用,但 "left: -50%"却起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35411463/

相关文章:

javascript - 如何通过 jQuery 隐藏两个特定 id 之间的内容?

javascript - 在 Javascript 中动态设置 CSS 背景

jquery - 如何在 imageMap 的精确坐标处插入一个 div

jquery - 向正文 :after when sidebar is clicked and run animation 上的背景 (rgba) 添加叠加层

html - 基于td值需要在html中做颜色

html - z-index 未按预期运行 : data stacking and hiding

html - 背景属性不工作 CSS3

css - 调整大小时不显示导航折叠按钮

html - 在 iPad 上查看时,两个固定位置的 div 会产生边距

jQuery 添加结束标记,然后在使用 .before() 时重新打开