2015-08-16 64 views
0

我玩浮動物,我注意到「浮動崩潰錯誤」不會出現在固定位置。這裏是example爲什麼浮動崩潰不會出現在固定位置

所以,我有兩個div:

<body 
    <div class="static"> 
     <img> 
     <p>text text text</p> 
    </div> 
    <div class="fixed"> 
     <img> 
     <p>text text text</p> 
    </div> 
</body> 

先用靜態的位置和第二固定:

.fixed, .static{ 
    outline: 1px solid black; 
    width: 150px; 
} 
.fixed{ 
    position: fixed; 
    left: 200px; 
    top: 200px; 
} 
img{ 
    float: right; 
    background-color: green; 
    width: 100px; 
    height: 100px; 
} 

而且結果:

result

那麼,爲什麼第二固定-div不需要像這樣的東西0修復浮動崩潰?

回答

3

因爲position: fixed;創建Block formatting context

請嘗試以下樣式,它們在您的div中具有相似的效果。

  • float
  • positionabsolutefixed
  • display - inline-blockstabletable-cells
  • overflow - hiddenauto
1

如果你想讓他們都出現在同一個你可以放在overflow-y:hidden;

https://jsfiddle.net/1nq8b7xs/3/

,或者如果你希望它們出現互相使用顯示器的旁邊:從您的固定類inline-block的和刪除位置固定

https://jsfiddle.net/1nq8b7xs/4/

.fixed, .static{ 
 
    outline: 1px solid black; 
 
    width: 150px; 
 
    overflow-y:hidden; /*added this*/ 
 
} 
 
.fixed{ 
 
    left: 200px; 
 
    top: 200px; 
 
} 
 
img{ 
 
    float: right; 
 
    background-color: green; 
 
    width: 100px; 
 
    height: 100px; 
 
} 
 
.fixed, .static{display:inline-block;}
<body> 
 
    <div class="static"> 
 
     <img> 
 
     <p>text text text</p> 
 
    </div> 
 
    <div class="fixed"> 
 
     <img> 
 
     <p>text text text</p> 
 
    </div> 
 
</body>

+0

如果我想要固定div與fl出現怎麼辦燕麥崩潰,錯誤? – mqklin