


The Difference Between Percentage and fr Units in CSS Grid Layout
When configuring a grid layout with CSS, the choice of units for specifying column and row sizes can impact the layout's behavior. Two commonly used units are percentages and fractional units (fr). Let's examine the key differences between these units in the context of CSS Grid Layout.
fr Units
The fr unit represents fractional units of the free space available within the grid container after accounting for grid gaps. Essentially, it allows columns or rows to take up a proportional amount of the remaining space. The free space is distributed equally among the columns or rows with fr values.
This ensures that the elements' sizes scale responsively as the grid container resizes. Grid gaps, defined by grid-column-gap and grid-row-gap, are subtracted from the available space before calculating the fr values.
Percentage Units
Percentage units, on the other hand, specify the width of columns or rows as a percentage of the entire grid container, including grid gaps. This means that the elements' sizes are fixed, and they do not adjust dynamically based on the container's size.
As a result, it's possible to run into situations where the total width of the columns, including grid gaps, exceeds the grid container's width. This can cause the layout to overflow the container.
Example
To illustrate the difference in behavior, consider the following grid layout:
.grid { display: grid; grid-template-columns: repeat(12, calc(100% / 12)); grid-column-gap: 10px; grid-row-gap: 10px; }
In this case, percentage units are used to define the column widths. As a result, the total width of the columns, including the grid gaps (11 gaps with a gap of 10px), exceeds the grid container's width, causing the layout to overflow.
However, if we switch to using fr units instead:
.grid { display: grid; grid-template-columns: repeat(12, 1fr); grid-column-gap: 10px; grid-row-gap: 10px; }
The columns now take up proportional amounts of the available free space, and the grid gaps are subtracted from the total space before calculating the fr values. This results in a responsive layout that adjusts dynamically based on the grid container's size.
Conclusion
Choosing the appropriate unit for your grid layout depends on the desired behavior. Percentage units are suitable when you want fixed sizes, while fr units are beneficial when you need responsive layouts that scale according to the available space. Understanding the difference between these units and their impact on the layout is crucial for creating efficient and visually pleasing CSS Grid layouts.
The above is the detailed content of CSS Grid Layout: Percentages vs. `fr` Units – What's the Difference?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

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

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

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

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

There are three ways to create a CSS loading rotator: 1. Use the basic rotator of borders to achieve simple animation through HTML and CSS; 2. Use a custom rotator of multiple points to achieve the jump effect through different delay times; 3. Add a rotator in the button and switch classes through JavaScript to display the loading status. Each approach emphasizes the importance of design details such as color, size, accessibility and performance optimization to enhance the user experience.

To deal with CSS browser compatibility and prefix issues, you need to understand the differences in browser support and use vendor prefixes reasonably. 1. Understand common problems such as Flexbox and Grid support, position:sticky invalid, and animation performance is different; 2. Check CanIuse confirmation feature support status; 3. Correctly use -webkit-, -moz-, -ms-, -o- and other manufacturer prefixes; 4. It is recommended to use Autoprefixer to automatically add prefixes; 5. Install PostCSS and configure browserslist to specify the target browser; 6. Automatically handle compatibility during construction; 7. Modernizr detection features can be used for old projects; 8. No need to pursue consistency of all browsers,

Use the clip-path attribute of CSS to crop elements into custom shapes, such as triangles, circular notches, polygons, etc., without relying on pictures or SVGs. Its advantages include: 1. Supports a variety of basic shapes such as circle, ellipse, polygon, etc.; 2. Responsive adjustment and adaptable to mobile terminals; 3. Easy to animation, and can be combined with hover or JavaScript to achieve dynamic effects; 4. It does not affect the layout flow, and only crops the display area. Common usages are such as circular clip-path:circle (50pxatcenter) and triangle clip-path:polygon (50%0%, 100 0%, 0 0%). Notice

Setting the style of links you have visited can improve the user experience, especially in content-intensive websites to help users navigate better. 1. Use CSS's: visited pseudo-class to define the style of the visited link, such as color changes; 2. Note that the browser only allows modification of some attributes due to privacy restrictions; 3. The color selection should be coordinated with the overall style to avoid abruptness; 4. The mobile terminal may not display this effect, and it is recommended to combine it with other visual prompts such as icon auxiliary logos.

Themaindifferencesbetweendisplay:inline,block,andinline-blockinHTML/CSSarelayoutbehavior,spaceusage,andstylingcontrol.1.Inlineelementsflowwithtext,don’tstartonnewlines,ignorewidth/height,andonlyapplyhorizontalpadding/margins—idealforinlinetextstyling

TheCSSPaintingAPIenablesdynamicimagegenerationinCSSusingJavaScript.1.DeveloperscreateaPaintWorkletclasswithapaint()method.2.TheyregisteritviaregisterPaint().3.ThecustompaintfunctionisthenusedinCSSpropertieslikebackground-image.Thisallowsfordynamicvis

To create responsive images using CSS, it can be mainly achieved through the following methods: 1. Use max-width:100% and height:auto to allow the image to adapt to the container width while maintaining the proportion; 2. Use HTML's srcset and sizes attributes to intelligently load the image sources adapted to different screens; 3. Use object-fit and object-position to control image cropping and focus display. Together, these methods ensure that the images are presented clearly and beautifully on different devices.

CSS,orCascadingStyleSheets,isthepartofwebdevelopmentthatcontrolsawebpage’svisualappearance,includingcolors,fonts,spacing,andlayout.Theterm“cascading”referstohowstylesareprioritized;forexample,inlinestylesoverrideexternalstyles,andspecificselectorslik
