How to set div width to fit content using CSS ?

There are three ways to solve this problem which are listed below:

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

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

filter_none

edit
close

play_arrow

link
brightness_4
code

<!DOCTYPE html>
<html lang = "en" dir = "ltr">
      
<head>
    <meta charset = "utf-8">
    <title>GeeksforGeeks Example</title>
      
    <!--CSS Code-->
    <style media = "screen">
        body {
            background: orange;
            overflow: hidden;
            color: white;
        }
        .GeeksForGeeks {
            text-align: center;
            background: dodgerblue;
            position: absolute;
            top: 50%;
            left: 1%;
            right: 1%;
        }
    </style>
</head>
  
<body>
      
    <!-- HTML Code -->
    <h1 style = "color:forestgreen; top:35%;
            left: 35%; position:absolute; ">
        Geeks For Geeks
    </h1>
  
    <div class = "GeeksForGeeks">
        Cascading Style Sheets, fondly referred
        to as CSS, is a simply designed language
        intended to simplify the process of
        making web pages presentable. CSS allows
        you to apply styles to web pages. More
        importantly, CSS enables you to do this
        independent of the HTML that makes up
        each web page.
    </div>
</body>
  
</html>

chevron_right


Output:

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

Example 2:



filter_none

edit
close

play_arrow

link
brightness_4
code

<!DOCTYPE html>
<html lang = "en">
  
<head>
    <meta charset = "utf-8">
      
    <title>GeeksforGeeks Example</title>
      
    <!--CSS Code-->
    <style media = "screen">
        body {
            background: violet;
            overflow: auto;
            color: white;
        }
        .GeeksForGeeks {
            text-align: center;
            background: dodgerblue;
            position: absolute;
            display: inline-block;
            left: 1%;
            right: 1%;
            top: 50%;
        }
    </style>
</head>
  
<body>
    <!-- HTML Code -->
    <h1 style="color: forestgreen; 
        top: 35%; left: 35%; position: absolute;">
        Geeks For Geeks
    </h1>
  
    <div class="GeeksForGeeks">
        Cascading Style Sheets, fondly referred
        to as CSS, is a simply designed language
        intended to simplify the process of
        making web pages presentable. CSS allows
        you to apply styles to web pages. More
        importantly, CSS enables you to do this
        independent of the HTML that makes up
        each web page.
    </div>
</body>
  
</html>

chevron_right


Output:

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

filter_none

edit
close

play_arrow

link
brightness_4
code

<!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 -->
    <h1 style = "color: lime; top: 35%;
        left: 35%; position: absolute;">
        Geeks For Geeks
    </h1>
          
    <div class = "GeeksForGeeks">
        Cascading Style Sheets, fondly referred
        to as CSS, is a simply designed language
        intended to simplify the process of 
        making web pages presentable. CSS allows
        you to apply styles to web pages. More
        importantly, CSS enables you to do this
        independent of the HTML that makes up
        each web page.
    </div>
</body>
  
</html>

chevron_right


Output:

full-stack-img




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.