1. 程式人生 > >為什麼子元素設定margin-top會作用在父元素上?

為什麼子元素設定margin-top會作用在父元素上?

原因在於:CSS 外邊距合併

復現:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<style>
html * {
      margin:0;
      padding: 0;
}
</style>
<body>
    <section style = "background:orange;">
        <
article style ='height:100px;margin-top:40px;background:red'></article> </section> </body> </html>

這裡子元素設定margin-top會作用在父元素上了。

解決方法:

1、為父元素設定padding。 
2、為父元素設定border。 
2、為父元素設定 overflow: hidden 。