Questions
15 of 29
1What is the box model in HTML?
2Can you explain the components of the Box Model?
3What’s the difference between margin, border, padding, and content?
4How does padding affect the size of an element?
5How does margin differ from padding?
6What happens when you set negative margins?
7Does padding accept negative values? Why or why not?
8How can you visualize the box model in browser dev tools?
9What is the default box-sizing value for HTML elements?
10What does box-sizing: border-box do?
11Compare box-sizing: content-box and border-box.
12How can you make two boxes align perfectly side by side with consistent spacing?
13How do margin collapsing rules work in CSS?
14Give an example of when margin collapsing might cause layout issues.
15How can you prevent margin collapsing between parent and child elements?
16What is the difference between inline, inline-block, and block elements in terms of the box model?
17Do replaced elements (like <img>, <input>) follow the same box model rules?
18How do width and height interact with padding and border in the box model?
19Why might a layout break when switching from content-box to border-box?
20How would you fix an element that overflows its container due to box model miscalculations?
21How do you use the calc() function to compensate for padding or border widths?
22How does the box model interact with flexbox and grid layouts?
23Does the box model behave differently for absolutely positioned elements?
24How can you ensure consistent box sizing across all elements on a webpage?
25What’s the role of outline in the box model, and how is it different from border?
26How can you use the box model to achieve responsive layouts?
27How do you debug box model-related issues in a complex layout?
28Explain how min-width, max-width, and overflow affect the box model.
29How do borders affect element dimensions?
15 / 29

How can you prevent margin collapsing between parent and child elements?

Preventing Margin Collapsing Between Parent and Child Elements

Margin collapsing occurs when the vertical margins of a parent and its first or last child element merge into a single margin. This often reduces the expected spacing, especially when designing nested layouts.

Example: Collapsing Between Parent and Child

In this case, the top margin of the child merges with the parent's top edge. The margin doesn’t create space inside the parent; instead, it pushes the parent itself downward.

Ways to Prevent Margin Collapsing
  1. 1

    Add padding to the parent (e.g., padding-top: 1px;).

  2. 2

    Add a border to the parent (even border: 1px solid transparent; works).

  3. 3

    Use overflow: auto; or overflow: hidden; on the parent to create a new block formatting context.

  4. 4

    Set display: flow-root; on the parent element.

  5. 5

    Use display: flex; or display: grid; — margins don’t collapse in these layouts.

These techniques ensure the parent and child margins remain independent, giving you full control over spacing inside nested elements.