CSS Float Practice Questions with solutions

Introduction

CSS float was originally designed to allow content to flow around elements such as images, but it has also been used for older multi-column layouts. The main values include left, right, none, and inherit. Although modern layouts usually use Flexbox or Grid, understanding float is still important when working with legacy CSS and existing websites. In this chapter, you will practice the float property and related techniques through simple CSS-only examples. CSS Float Practice Questions with solutions help to understand the concepts.


Question 1: Float an Element to the Left

Problem Statement

Write CSS to move an element to the left side of its containing block.

CSS Code

.box {
    float: left;
}

Output

The element moves toward the left side, allowing following inline content to flow around it when space permits.

Explanation

  • float: left moves the element to the left.
  • Following content can flow around the floated element.
  • The element is taken out of the normal block flow in the way defined by CSS float behavior.

Question 2: Float an Element to the Right

Problem Statement

Write CSS to move an element to the right side.

CSS Code

.box {
    float: right;
}

Output

The element moves toward the right side of its containing block.

Explanation

float: right places the element on the right side, allowing suitable following content to flow around its left side.


Question 3: Remove Floating

Problem Statement

Write CSS to prevent an element from floating.

CSS Code

.box {
    float: none;
}

Output

The element no longer has floating applied.

Explanation

float: none is the default value of the float property. It prevents the element from being floated.


Question 4: Float an Image to the Left

Problem Statement

Create a CSS rule that floats an image to the left and adds spacing around it.

CSS Code

.image {
    float: left;
    margin-right: 20px;
    margin-bottom: 10px;
}

Output

The image is positioned toward the left, while suitable text can flow around it with spacing on the right and bottom.

Explanation

  • float: left moves the image toward the left.
  • margin-right creates space between the image and surrounding content.
  • margin-bottom creates additional vertical spacing.

This was a common technique for creating text-wrapping layouts.


Question 5: Float Two Elements in Opposite Directions

Problem Statement

Float one element to the left and another element to the right.

CSS Code

.left-box {
    float: left;
}

.right-box {
    float: right;
}

Output

The first element floats to the left and the second element floats to the right.

Explanation

Different elements can have different float directions. This technique was commonly used in older navigation and two-sided layouts.

For modern responsive layouts, Flexbox or Grid is generally easier to maintain.

Question 6: Clear a Left Float

Problem Statement

Write CSS to prevent an element from appearing beside elements floated to the left.

CSS Code

.clear-left {
    clear: left;
}

Output

The element moves below any preceding left-floated elements that affect its position.

Explanation

  • clear: left prevents the element from sitting beside left-floating elements.
  • It forces the element to move below relevant left floats.

Question 7: Clear a Right Float

Problem Statement

Write CSS to prevent an element from appearing beside elements floated to the right.

CSS Code

.clear-right {
    clear: right;
}

Output

The element moves below relevant right-floated elements.

Explanation

clear: right prevents the element from being positioned alongside right-floated elements that would otherwise affect its placement.


Question 8: Clear Both Left and Right Floats

Problem Statement

Write CSS to make an element move below both left and right floats.

CSS Code

.clear-both {
    clear: both;
}

Output

The element appears below relevant left and right floated elements.

Explanation

clear: both clears floats on both sides.

This is useful when a section should begin below floated content.


Question 9: Prevent a Container from Collapsing Around Floated Elements

Problem Statement

Create a container that uses display: flow-root so that its floated children are contained within its layout.

CSS Code

.container {
    display: flow-root;
}

.item {
    float: left;
    width: 150px;
    margin-right: 15px;
}

Output

The .container establishes a new block formatting context, helping the container properly contain its floated child.

Explanation

A common issue with floats is that a parent may not automatically expand to visually contain floated children.

display: flow-root is a modern way to establish a new block formatting context and contain floats without adding unnecessary clearing elements.


Question 10: Create a Legacy Two-Column Float Layout

Problem Statement

Create two columns using floats, with the first column on the left and the second on the right.

CSS Code

.column-left {
    float: left;
    width: 48%;
}

.column-right {
    float: right;
    width: 48%;
}

Output

The two elements appear side by side, with one column floated left and the other floated right.

Explanation

  • The left column uses float: left.
  • The right column uses float: right.
  • 48% width leaves space between the columns.
  • This is a traditional CSS layout technique.

For new projects, Flexbox or CSS Grid is generally preferred because they provide more flexible and predictable layout control.


Key Takeaways

  • float: left moves an element toward the left.
  • float: right moves an element toward the right.
  • float: none removes floating.
  • Floated elements can allow suitable inline content to flow around them.
  • clear: left clears left floats.
  • clear: right clears right floats.
  • clear: both clears both left and right floats.
  • display: flow-root can help a container contain floated children.
  • Floats are still useful for understanding legacy CSS and text-wrapping layouts.
  • Flexbox and Grid are generally better choices for modern page layouts.

Frequently Asked Questions (FAQs)

1. What is the CSS float property?

The float property positions an element toward the left or right and allows suitable content to flow around it.

.image {
    float: left;
}

2. What are the main values of float?

Common values include:

.box {
    float: left;
}

.box {
    float: right;
}

.box {
    float: none;
}

The inherit value can also be used to inherit the property’s value from the parent.


3. What does clear do in CSS?

The clear property controls whether an element can appear beside floated elements.

.section {
    clear: both;
}

4. What is the difference between clear: left and clear: both?

clear: left clears relevant left floats, while clear: both clears relevant floats on both sides.


5. How can I contain floated children inside a parent?

A modern approach is to use:

.container {
    display: flow-root;
}

This establishes a new block formatting context.


6. Should I use float for modern website layouts?

For most modern page layouts, Flexbox or Grid is generally preferable. Float remains useful for text wrapping around images and for maintaining or understanding older CSS layouts.


7. Is float still supported by modern browsers?

Yes. The CSS float property remains supported and is still useful for certain layout situations, especially text wrapping and legacy code.

Written by Shubhranshu Shekhar, who has trained 20000+ students in coding.

Scroll to Top