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
Release: 2016-06-24 12:21:03
Original
1153 people have browsed it

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>
Copy after login


The display effect is as follows


This effect is explained in 360 Speed ​​Browser,

The margin-top exists and is 10px by visual inspection;

Then, remove the line

div
in
to produce the following effect:


This effect shows that the margin-top of

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


or

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

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template