CSS - max-content Property



The intrinsic maximum width or height of the content is represented by the sizing keyword max-content. This means, it sets the width of an element to the maximum width it can be before it overflows its container. This property will take precedence over any other width properties and will adjust itself to fit within its container.

The use of max-content keyword is optimum in cases where you need the maximum width of the content to determine the size of the box.

Syntax

/* Used as a length */
width: max-content;
inline-size: max-content;
height: max-content;
block-size: max-content;

/* used in grid */
grid-template-columns: 100px 1fr max-content;

CSS max-content -Box Sizing

Following example demonstrates the use of max-content to set the size of the box:

<html>
<head>
<style>
   #container {
      background-color: lightblue;
      padding: 10px;
      width: 250px;
   }

   .item {
      width: max-content;
      background-color: pink;
      padding: 5px;
      margin-bottom: 1em;
   }
</style>
</head>
<body>
   <h2>max-content - Example</h2>
   <div id="container">
      <div class="item">Item with smaller content</div>
      <div class="item">
         Item with more content in it which will overflow the fixed width of the container.
      </div>
      </div>
</body>
</html>

CSS max-content - Sizing Grid Columns

Following example demonstrates the use of max-content in sizing the grid columns:

<html>
<head>
<style>
   #container {
      display: grid;
      grid-template-columns: max-content max-content 1fr;
      grid-gap: 5px;
      height: 200px;
      width: 100%;
      background-color: pink;
      padding: 10px;
      border: 2px solid black;
   }

   #container > div {
      background-color: lightskyblue;
      padding: 5px;
      border: 2px solid black;
   }
</style>
</head>
<body>
   <h2>max-content - Sizing grid columns</h2>
   <div id="container">
      <div>Item</div>
      <div>Column with flexible text and more than the other two columns.</div>
      <div>Item with more text in it.</div>
   </div>    
</body>
</html>

CSS max-content - Using With Image

Following example demonstrates the use of max-content with an image.

<html> 
<head> 
<style> 
   .card{ 
      width: max-content; 
      border: 1px solid black; 
   } 
</style> 
</head> 
<body> 
   <h1>max-content</h1> 
   <div class="card"> 
      <img src= "images/logo.png" alt="logo" /> 
      <h1>Tutorials Point CSS Reference</h1> 
   </div> 
</body> 
</html>
Advertisements