The browser I am using now is 360 Speed Browser.
The first piece of code:
<html><head><style type="text/css">html{border:1px solid blue;}body{border:1px solid red;}p{border:1px solid green;}div{border:1px solid red;margin:0px;}</style></head><body><div>div</div><p>p</p><p>p</p></body></html>
The margin-top exists and is 10px by visual inspection;
Then, remove the line
becomes 0px.
There seems to be some contradiction.
The question is very basic, it’s funny, please answer...
Different DTDs have different interpretations, you can add
Different DTDs have different interpretations, you can add
or
Okay, what you said I'm not very clear about this yet. I'll look up some information on this first. Thank you very much!
The first time is because div does not have vertical margins by default, while body and p have margins by default.
Because there is a div separating body and p, the two vertical margins do not have the effect of "vertical margin overlay".
The premise of vertical margin overlay is that two vertical margins are adjacent.
The second time, the div element is removed, which will cause the top margin of the body and the default top margin of p to overlap, and finally the smaller value of the two is taken.
The final effect is that the top margin values of body and p are equal. .
Therefore, two elements with equal top and outer margins are displayed as "overlapping" together.
It’s indeed a bit hard to understand. . .
CS is inscrutable. I still have a lot to learn.
The first time is because div does not have vertical margins by default, while body and p exist by default. Margins.
Because there is a div separating body and p, the two vertical margins do not have the effect of "vertical margin overlay".
The premise of vertical margin overlay is that two vertical margins are adjacent.
The second time, the div element is removed, which will cause the top margin of the body and the default top margin of p to overlap, and finally the smaller value of the two is taken.
The final effect is that the top margin values of body and p are equal. .
Therefore, two elements with equal top and outer margins are displayed as "overlapping" together.
It’s indeed a bit hard to understand. . .
The first and second body borders are both made of solid, so there will be no overlapping...
Moreover, the vertical merging takes the larger value of the two...
Thank you for your answer!
Haslayout and block-level context, bugs are often caused by these two reasons,
followed by a newline