CSS Grid - Adjusting Row Height to Content: Max-Content for Auto Height
When working with nested CSS grids, it's possible to encounter situations where the height of outer grid rows influences the inner grid rows, even when they should ideally adjust to the size of their content. In such cases, the key to achieving the desired behavior is by using the CSS property grid-auto-rows.
Nested CSS Grids and Row Height Propagation
In the provided code snippet, we have two grid containers (div and .grid-2) arranged horizontally within a parent grid container (grid-1). The columns in each grid are defined using grid-template-columns, and the auto-placement of rows is controlled by grid-auto-rows.
By default, the .grid-2 container sets grid-auto-rows to auto, which means rows adjust to fit their content. However, the issue arises with the inner grid container .grid-3. Even though grid-auto-rows is also set to auto, the nested grid's row heights are affected by the outer grid's rows. This leads to the taller side of the .grid-2 container propagating its height to the .grid-3 container, resulting in a consistent row height throughout both grids.
Setting Grid Rows to 'Max-Content'
To address this issue and adjust the .grid-3 container's rows to the size of their content, we need to modify the grid-auto-rows property. The max-content value, when used with grid-auto-rows, ensures that each row in the inner grid is sized according to its content, regardless of the height of rows in the outer grid.
By setting grid-auto-rows: max-content in the inner .grid-3 container, we instruct the browser to calculate the size of each row based solely on the content within that row. This allows the inner grid to adjust independently of the outer grid, resulting in rows that perfectly wrap their content, as desired.
Updated Code Snippet
In the updated code snippet below, you can see the modification to grid-auto-rows in the inner .grid-3 container:
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: max-content; }
With this adjustment, the rows in the .grid-3 container will dynamically adapt to the height of their content, achieving the desired resizing behavior.
The above is the detailed content of How to Make CSS Grid Rows Adjust to Content Height in Nested Grids?. For more information, please follow other related articles on the PHP Chinese website!

@keyframesispopularduetoitsversatilityandpowerincreatingsmoothCSSanimations.Keytricksinclude:1)Definingsmoothtransitionsbetweenstates,2)Animatingmultiplepropertiessimultaneously,3)Usingvendorprefixesforbrowsercompatibility,4)CombiningwithJavaScriptfo

CSSCountersareusedtomanageautomaticnumberinginwebdesigns.1)Theycanbeusedfortablesofcontents,listitems,andcustomnumbering.2)Advancedusesincludenestednumberingsystems.3)Challengesincludebrowsercompatibilityandperformanceissues.4)Creativeusesinvolvecust

Using scroll shadows, especially for mobile devices, is a subtle bit of UX that Chris has covered before. Geoff covered a newer approach that uses the animation-timeline property. Here’s yet another way.

Let’s run through a quick refresher. Image maps date all the way back to HTML 3.2, where, first, server-side maps and then client-side maps defined clickable regions over an image using map and area elements.

The State of Devs survey is now open to participation, and unlike previous surveys it covers everything except code: career, workplace, but also health, hobbies, and more.

CSS Grid is a powerful tool for creating complex, responsive web layouts. It simplifies design, improves accessibility, and offers more control than older methods.

Article discusses CSS Flexbox, a layout method for efficient alignment and distribution of space in responsive designs. It explains Flexbox usage, compares it with CSS Grid, and details browser support.

The article discusses techniques for creating responsive websites using CSS, including viewport meta tags, flexible grids, fluid media, media queries, and relative units. It also covers using CSS Grid and Flexbox together and recommends CSS framework


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 English version
Recommended: Win version, supports code prompts!

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool
