IE11位置固定有错误的大小

时间:2014-03-24 14:59:55

标签: html css internet-explorer-11

为什么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>

1 个答案:

答案 0 :(得分:1)

当我将此行为与Chrome进行比较时,此处的关键似乎是overflow: hidden。在规范中可能有一些特定的东西,但我认为IE可能在这里,至少部分。当我尝试时,固定跨度占据了整个视口的宽度和高度,但被其包含div的溢出属性所掩盖 - 删除使整个屏幕变红。

然而,它仍然将左上角变成直尺,这似乎是不正确的。