Talking about the dawn of the Internet and web design can feel like talking about pre-history. Though there may not have been dragons lurking in the oceans, the lack of viable web layout tools made design feel like fighting a mythical beast.
These days the invention of the CSS grid template helps designers do what they want. No more guessing and hoping that a web page will present the functionality across platforms and browsers.
The new tools work well by establishing exact parameters and allowing those parameters to be adjusted by scale and not by position. This enables web designers to create what they need to ensure quick loading and clean viewing experiences.
The following explains the terms and uses of the CSS grid to get designers armed with thorough knowledge of this essential tool.
Grid Template Terms
The following terms provide the building blocks of knowledge for using the CSS grid layout and can function as a CSS grid tutorial.
The following also will be explained with common HTML references that documents read left to right and flow vertically.
Elements inside of a grid container are called child elements. These are items that populate the space and have certain rules applied to them.
These rules help the presentation of the elements. Not all rules apply to child elements and further rules don’t apply to subsets called grandchild elements.
Grid lines form reference points for establishing the grid structure. They can be aligned and indexed numerically for use in coding and position.
Lines can be numbered positive or negative. Negative indices provide right-justification and start right to left in opposition to their positive counterparts. This provides a quick way to align items on either side without needing to establish or create white space in front of elements.
Lines can also be named in code. This enables developers to mark out intended purpose within the grid CSS style sheet for future use.
Tracks and Cells
While the tables of old were not suitable for precise layouts, the concept wasn’t fundamentally flawed. Within CSS grids table elements and terms still exist.
Tracks represent the space formed between lines. Much like the row of a table, these separators stretch across a field.
Cells have borders top and bottom and work the same as a table cell. The individual containers can have any size property assigned by definition of the lines surrounding them.
Larger units within the grid are called areas. An area can be made of several combined cells or tracks. A grid area gets controlled by borders and gutters around it.
Items placed in a grid area don’t have to fill the whole area. Between these three groupings of area, tracks, and cells, the grid layout can then have conceptual containers built in which will stretch and form around the content placed inside.
Changes to the size of the grid will affect the size of each of the units while keeping the relationships of size the same. This provides the underlying ability of the grid template to make websites viable across multiple platforms and devices without needing to recode for each interface.
Grid Containers: Structural Components
With the structure in place, the containers for content can be assigned. Containers work best when assigned labels for ease of use.
Containers become defined by grid formatting. Context and labels applied to the container’s child elements.
Individual styles can be applied to each container as defined within the style sheet. This allows designers to maintain a through-line of aesthetic from one page to another without re-coding each instance.
Explicit and Implicit
So far, everything explained pertains to the grid itself. This is the explicit grid.
Items placed outside of the grid become implicit grid items. Without definition, these items still exist, just outside the defined area.
They work the same as explicit grid items. The parameters for these can be set, essentially creating a secondary grid, or they can be left auto which will indicate to them to fill whatever space.
Web designers use the difference between these grid types to allow some elements to become option based on the view space of a device.
Properties within the grid can be defined individually. This allows the space to be used precisely. Properties have definition set and this creates a whole separate set of terminology.
The main types of property are the column and row templates. This defines the space within and is called a track list. A property defines a track list for an area.
So, as has already been mentioned, lines and containers can have labels applied. These labels would appear inside the properties.
Several properties can be combined into set values. These create shortcuts for packaging information. For example, the row gap and column gap can be expressed as a set value within the grid-gap property instead of individually.
Once the grid has been established and the properties defined, the only step remaining is to populate the space. This is done by defining grid position for each of the grid items.
Grid items get defined into place based on the sizing established by the previous steps. Default grid item placement, put in without instruction, defaults to 1 grid cell. A grid cell may, because of properties, be any size.
Grid times can be defined to fit in a container, designated ahead of time, or by listing the number of cells or tracks it is to take up.
Some of this information may sound redundant, but this is illustrating the control provided by the grid template. It goes over several of the same situations in different ways because each way has a specific possible use and therefore provides better control.
Previous web design systems didn’t have these redundancies which caused issues.
While the CSS grid template represents a powerful modern tool for web developers, it isn’t the only tool out there. It also won’t be the last tool used for its current purpose. With technology and the web constantly changing it is important to get current information.
Coding blogs and web development news sites, like ours, help to keep this information flowing.