Html IE11中奇怪的重画

Html IE11中奇怪的重画,html,internet-explorer-11,Html,Internet Explorer 11,我已经减少了css和html到这一点 弗斯特 小孩 .首先{ 明确:两者皆有; } .第一个孩子{ 浮动:左; } 第二席尔德先生{ 浮动:左; 明确:两者皆有; 边缘顶部:100px; } 在IE11中打开项目。 当您检查secondsChild元素时,您将看到边距从“first”div的正下方开始。 将“第一个”div更改为具有位置:固定。检查secondsChild元素,您将看到边距从“第一个”文本上方开始。 移除位置:固定“第一”div。检查secondsChild元素,您将看到边距

我已经减少了css和html到这一点


弗斯特
小孩
.首先{
明确:两者皆有;
}
.第一个孩子{
浮动:左;
}
第二席尔德先生{
浮动:左;
明确:两者皆有;
边缘顶部:100px;
}
  • 在IE11中打开项目。
  • 当您检查secondsChild元素时,您将看到边距从“first”div的正下方开始。
  • 将“第一个”div更改为具有位置:固定。检查secondsChild元素,您将看到边距从“第一个”文本上方开始。
  • 移除位置:固定“第一”div。检查secondsChild元素,您将看到边距从“第一个”文本上方开始。它没有正确地重新绘制
  • 是不是应该重画一遍,还是有什么解释我就是不明白?在internet explorer团队中未发现任何与此错误相关的引用。以前有人经历过吗?

    “position:”属性会影响文档流。元素以“position:static”开头,将它们放入文档流中。添加“position:fixed”会将元素从文档流中移除,因此周围或封装的元素基本上不知道“fixed”元素的大小、位置等

    实际的“边距:”设置没有改变,只有元素的定位!请注意。first不适合。firstChild一旦添加位置:固定。这是因为。首先是流出来的

    尝试为元素添加一些彩色边框,以便“看到”它们,仅用于学习目的。我列举了“position:static”,因此您可以看到它与没有声明position是一样的

    *{
        margin:0; padding:0;
    }
    .first{
        position:static;
        border:1px solid #f0f;
        clear:both;
        padding-bottom:5px;
    }
    .firstChild{
        border:1px solid #0f0;
        float:left;
    }
    .second{
       border:1px solid #00f;
    }
    .secondsChild{
        border:1px solid #f00;
        float:left;
        clear:both;
        margin-top:60px;
        width:800px
    }
    
    *{
        margin:0; padding:0;
    }
    .first{
        position:static;
        border:1px solid #f0f;
        clear:both;
        padding-bottom:5px;
    }
    .firstChild{
        border:1px solid #0f0;
        float:left;
    }
    .second{
       border:1px solid #00f;
    }
    .secondsChild{
        border:1px solid #f00;
        float:left;
        clear:both;
        margin-top:60px;
        width:800px
    }