为什么IE11为固定定位元素设置了错误的大小?当他的父亲的相对位置具有完全定义的大小,边界半径和隐藏溢出时,则固定元素采用其父级的大小而不是自己的大小。
示例:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de-CH" lang="de-CH">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<title>Fixed Test</title>
<style>
div {
position: relative;
overflow: hidden;
min-height: 100px;
width: 200px;
border-radius: 5px;
background-color: green;
}
.fixed {
position: fixed;
top: 0;
left: 0;
height: 100%;
width: 100%;
z-index: 1000;
background-color: red;
}
</style>
</head>
<body>
<div><span onclick="this.className='fixed'">click me</span></div>
</body>
</html>
答案 0 :(得分:1)
当我将此行为与Chrome进行比较时,此处的关键似乎是overflow: hidden
。在规范中可能有一些特定的东西,但我认为IE可能在这里,至少部分。当我尝试时,固定跨度占据了整个视口的宽度和高度,但被其包含div的溢出属性所掩盖 - 删除使整个屏幕变红。
然而,它仍然将左上角变成直尺,这似乎是不正确的。