2016-12-26 45 views
0

以下.p1從早期的浮動框中清除,並將頂部邊距應用於期望它將從視口的頂部邊緣進一步向下移動,那麼使用clear可以實現什麼,但如果clearmargin-top似乎不起作用使用,如果clear被刪除,它的工作原理。爲什麼?爲什麼頂部邊距在清除浮球后不會被應用?

HTML

<span style="float:right;width:30%;"> 
    content content content content content content content content... 
</span> 

<p class="p1">content content content content...</p> 

<p>content content content content...</p>  

CSS

span, p { 
    border: 3px solid black; 
    background-color: #ede; 
    padding: 10px; } 

.p1{ 
    clear: both; 
    margin-top: 200px; 
    } 

任何人都可以解釋爲什麼這margin-top不會對.p1工作?

回答

-1

您需要在.p1之前添加一個<div>(在我的案例中名爲.clear)。像:

<span style="float:right;width:30%;"> 
    content content content content content content content content... 
</span> 

<div class="clear"></div> 

<p class="p1">content content content content...</p> 

<p>content content content content...</p> 

看一看下面的工作片段:

span, p { 
 
    border: 3px solid black; 
 
    background-color: #ede; 
 
    padding: 10px; 
 
} 
 

 
.p1 { 
 
    margin-top: 200px; 
 
} 
 

 
.clear { 
 
    clear: both; 
 
}
<span style="float:right;width:30%;"> 
 
    content content content content content content content content... 
 
</span> 
 

 
<div class="clear"></div> 
 

 
<p class="p1">content content content content...</p> 
 

 
<p>content content content content...</p>

希望這有助於!

+0

我本來可以做到的,即使設置了一個非常大的margin-top值,我也想知道它爲什麼會保持在浮動塊下面的原因,說'margin-top:400px'。 –

+0

@Saurav Rastogi:如果是這種情況,則清算元素的餘量應從浮動的底部邊緣開始。但事實並非如此。所以你的推理是錯誤的。 – BoltClock

+0

這是因爲浮動框('span'&'.p1')與其他框之間的邊距已摺疊。 –

相關問題