[英]Why does transform: translateX affect a fixed element's height on mobile?
刚才我遇到了一个奇怪的问题,我有一个height:100%
的固定元素。 一切正常,直到我打开Chrome Dev Tool并进入移动调试模式 。在移动调试模式 下,我发现固定元素的高度不会100%
而是有点溢出。 经过反复调试后,我发现同级元素的translateX
属性会影响固定元素的高度。 当我调整translateX
属性的值时,固定元素的高度也会改变。 我将其简化为以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Fixed Element Height Not 100%</title>
<style>
* {
margin: 0;
padding: 0;
}
html,
body {
height: 100%;
width: 100%;
}
body {
overflow: hidden;
}
.a {
transform: translateX(100px);
width: 100%;
height: 200px;
}
.b {
position: fixed;
height: 100%;
width: 100%;
top: 0;
left: 0;
}
</style>
</head>
<body>
<div class="a"></div>
<div class="b"></div>
</body>
</html>
有人可以告诉我这是否可以预期吗? 如果这是预期的,并且是什么原因造成的?
删除第2个body标签CSS,该CSS已溢出:隐藏并将该属性添加到第一个body标签CSS,以下代码将为您提供帮助。
body {
height: 100%;
width: 100%;
overflow: hidden;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.