Open In App

How to make div not larger than its contents using CSS?

Last Updated : 16 Apr, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

There are three ways to achieve this problem:

  1. By default case
  2. Using inline-block property
  3. Using fit-content property in width and height

Default Case:

In HTML div is by default fit to content inside it. The example goes like this:
Example 1:




<!DOCTYPE html>
<html lang = "en" dir = "ltr">
  <head>
    <meta charset = "utf-8">
    <title>Geeks for Geeks Example</title>
    <!--CSS Code-->
    <style media = "screen">
      body {
        background: orange;
        overflow: hidden;
        color: white;
      }
      .GeeksForGeeks {
        background: dodgerblue;
        position: absolute;
        top: 50%;
        left: 1%;
        right: 1%;
      }
    </style>
  </head>
  
  <body>
    <!-- HTML Code -->
    <center><h1 style = "color:forestgreen ; top:35% ; left: 35% ; 
    position:absolute; ">Geeks For Geeks</h1></center>
    <center>
      <div class = "GeeksForGeeks">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
        tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
        veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
        commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
        velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
        occaecat cupidatat non proident, sunt in culpa qui officia deserunt
        mollit anim id est laborum.
      </div>
    </center>
  </body>
</html>


Output:
The output of two different screen width is shown which proves that it fits with content inside it.
Screen 1:


Screen 2:

Using inline-block property:

Use display: inline-block property to set a div size according to its content.
Example 2:




<!DOCTYPE html>
<html lang = "en" dir = "ltr">
  <head>
    <meta charset = "utf-8">
    <title>Geeks for Geeks Example</title>
    <!--CSS Code-->
    <style media = "screen">
      body {
        background: violet;
        overflow: auto;
        color: white;
      }
      .GeeksForGeeks {
        background: dodgerblue;
        position: absolute;
        display: inline-block;
        left: 1%;
        right: 1%;
        top: 50%;
      }
    </style>
  </head>
  
  <body>
    <!-- HTML Code -->
    <center><h1 style="color: forestgreen; top: 35%; left: 35%;
      position: absolute;">Geeks For Geeks</h1></center>
    <center>
      <div class="GeeksForGeeks">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
        tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
        veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
        commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
        velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
        occaecat cupidatat non proident, sunt in culpa qui officia deserunt
        mollit anim id est laborum.
      </div>
    </center>
  </body>
</html>


Output:
The output of two different screen width is shown which proves that it fits with content inside it.
Screen 1:


Screen 2:

Using fit-content property in width and height:

In this method we set the width and height property to fit-content value.
Example 3:




<!DOCTYPE html>
<html lang = "en" dir = "ltr">
  <head>
    <meta charset = "utf-8">
    <title>Geeks for Geeks Example</title>
    <!--CSS Code-->
    <style media = "screen">
      body {
        background: tomato;
        overflow: hidden;
        color: white;
      }
      .GeeksForGeeks {
        background: crimson;
        position: absolute;
        width:fit-content;
        height:fit-content;
        left: 0;
        top: 50%;
      }
    </style>
  </head>
  
  <body>
    <!-- HTML Code -->
    <center><h1 style = "color: lime; top: 35%; left: 35%;
      position: absolute;">Geeks For Geeks</h1></center>
    <center>
      <div class = "GeeksForGeeks">
        Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
        tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
        veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
        commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
        velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
        occaecat cupidatat non proident, sunt in culpa qui officia deserunt
        mollit anim id est laborum.
      </div>
    </center>
  </body>
</html>


Output:
The output of two different screen width is shown which proves that it fits with content inside it.
Screen 1:


Screen 2:



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads