Premise
Only vertically adjacent margins will be merged in normal document flow.
Margins between inline boxes, floating boxes, or absolutely positioned boxes will not be merged.
1. Adjacent elements have multiple margins
1 <ul>2 <li>line 1</li>3 <li>line 2</li>4 </ul>5 <h3 id="This-is-h-line">This is h3 line.</h3>
1 ul{margin-bottom:15px;}2 li{margin-top:10px;margin-bottom:20px;}3 h3{margin-top:28px;}
The bottom margin of ul is 15px, the bottom margin of li is 20px, and the top margin of h3 is 28px. When merging the margins, the maximum value will be taken instead of adding together, so the distance between line 2 and h3 is 28px.
Note: If you add a border to ul, the bottom margin of li will be placed inside ul. At this time, only the merger between ul and h3 will occur.
If both ul and h3 margins are negative, then add the negative margin with the largest absolute value and the largest positive margin to get the spacing.
2. The block element contains a block element (the parent element has no padding or border set)
1 <div id="outer">2 <div id="inner"></div>3 </div>
1 #outer{ 2 width:200px; 3 height:100px; 4 background:rgb(245,138,158); 5 margin-top:20px; 6 } 7 #inner{ 8 width:50px; 9 height:50px;10 background:rgb(147,172,213);11 margin-top:10px;12 }
The inner does not sink 10px relative to the outer as expected, but remains relatively unchanged relative to the outer position, and the outer sinks 10px overall. At this time, if the upper margin of the outer is set to 20px, whichever is larger will make the overall outer lower by 20px.
If you add a border (or padding) to the parent element to separate the margins of the internal elements, margin merging will not occur:
1 #outer{border:1px solid rgb( 147,172,213);}
Note: If the block element contains inline elements, margin merging will not occur (see horizontal centering and vertical centering).
3. Merge the upper and lower margins of empty elements
1 <div class="blank"></div>2 <div class="focus"></div>3 <div class="blank"></div>
1 .blank{2 width:100px;3 height:50px;4 background:rgb(245,138,158);5 }6 .focus{margin:10px 0 20px 0;}
The spacing of the focus is 20px (whichever is larger). If the blank has margins, it will continue to be merged. The same applies to multiple empty elements.
Reference materials
css margin merging
Detailed explanation of css margin merging

The future of HTML will develop in a more semantic, functional and modular direction. 1) Semanticization will make the tag describe the content more clearly, improving SEO and barrier-free access. 2) Functionalization will introduce new elements and attributes to meet user needs. 3) Modularity will support component development and improve code reusability.

HTMLattributesarecrucialinwebdevelopmentforcontrollingbehavior,appearance,andfunctionality.Theyenhanceinteractivity,accessibility,andSEO.Forexample,thesrcattributeintagsimpactsSEO,whileonclickintagsaddsinteractivity.Touseattributeseffectively:1)Usese

The alt attribute is an important part of the tag in HTML and is used to provide alternative text for images. 1. When the image cannot be loaded, the text in the alt attribute will be displayed to improve the user experience. 2. Screen readers use the alt attribute to help visually impaired users understand the content of the picture. 3. Search engines index text in the alt attribute to improve the SEO ranking of web pages.

The roles of HTML, CSS and JavaScript in web development are: 1. HTML is used to build web page structure; 2. CSS is used to beautify the appearance of web pages; 3. JavaScript is used to achieve dynamic interaction. Through tags, styles and scripts, these three together build the core functions of modern web pages.

Setting the lang attributes of a tag is a key step in optimizing web accessibility and SEO. 1) Set the lang attribute in the tag, such as. 2) In multilingual content, set lang attributes for different language parts, such as. 3) Use language codes that comply with ISO639-1 standards, such as "en", "fr", "zh", etc. Correctly setting the lang attribute can improve the accessibility of web pages and search engine rankings.

HTMLattributesareessentialforenhancingwebelements'functionalityandappearance.Theyaddinformationtodefinebehavior,appearance,andinteraction,makingwebsitesinteractive,responsive,andvisuallyappealing.Attributeslikesrc,href,class,type,anddisabledtransform

TocreatealistinHTML,useforunorderedlistsandfororderedlists:1)Forunorderedlists,wrapitemsinanduseforeachitem,renderingasabulletedlist.2)Fororderedlists,useandfornumberedlists,customizablewiththetypeattributefordifferentnumberingstyles.

HTML is used to build websites with clear structure. 1) Use tags such as, and define the website structure. 2) Examples show the structure of blogs and e-commerce websites. 3) Avoid common mistakes such as incorrect label nesting. 4) Optimize performance by reducing HTTP requests and using semantic tags.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Dreamweaver CS6
Visual web development tools

WebStorm Mac version
Useful JavaScript development tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
