Home >Web Front-end >HTML Tutorial >Ask a question about margin_html/css_WEB-ITnose

Ask a question about margin_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 12:21:031138browse

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 display effect is as follows


This effect is explained in 360 Speed ​​Browser, e388a4556c0f65e1904146cc1a846bee The margin-top exists and is 10px by visual inspection;

Then, remove the line dc6dce4a544fdca2df29d5ac0ea9906bdiv16b28748ea4df4d9c2150843fecfba68 in 6c04bd5ca3fcae76e30b72ad730ca86d
to produce the following effect:


This effect shows that the margin-top of e388a4556c0f65e1904146cc1a846bee becomes 0px.

There seems to be some contradiction.

The question is very basic, it’s funny, please answer...


Reply to the discussion (solution)

This post was last posted by net_lover in 2013 -05-10 11:19:01 Edit

Different DTDs have different interpretations, you can add
to the header of the page 6ae2c50d423b4aba728ff0a0793b6b1c


or

aba7b36f87decd50b18c7e3e3c150106

Different DTDs have different interpretations, you can add
74420b74d0c2469781aa51079d59d11f


or

aba7b36f87decd50b18c7e3e3c150106
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 newlinedf250b2156c434f3390392d09b1c9563

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn