CSS Concepts:
- Grid:
CSS Grid is a powerful layout system that allows you to create complex two-dimensional layouts with ease. It provides a grid-based structure to divide the webpage into rows and columns, allowing you to position and align elements within these grid areas. The grid layout is defined by creating a parent container with the display: grid
property, and then specifying the grid structure using properties like grid-template-columns
and grid-template-rows
. Grid also offers features like grid gaps, grid lines, and grid areas, which provide fine control over the layout.
Example usage in HTML:
<div class="grid-container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> </div>
.grid-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-gap: 10px;
}
.item {
background-color: #ccc;
padding: 10px;
}
- Flex:
Flexbox, also known as Flexible Box Layout, is a one-dimensional layout model that provides an efficient way to distribute space among items in a container. It allows you to create flexible and responsive layouts by aligning, ordering, and sizing elements within a container. Flexbox works along a single axis, either horizontally or vertically, and provides properties like flex-direction
, justify-content
, and align-items
to control the layout behavior. It simplifies the process of creating dynamic and adaptive designs.
Example usage in HTML:
<div class="flex-container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> </div>
.flex-container {
display: flex;
justify-content: space-between;
}
.item {
background-color: #ccc;
padding: 10px;
}
- Display Property:
The display
property in CSS determines how an element is rendered and displayed on the webpage. It defines the type of box used for an HTML element and affects its layout behavior. The most commonly used values for the display
property are block
, inline
, and inline-block
.
block
: Elements withdisplay: block
occupy the entire width of their parent container and start on a new line. They can have width, height, margins, and padding applied to them. Examples of block-level elements are<div>
,<p>
, and<h1>
.inline
: Elements withdisplay: inline
do not start on a new line and only take up as much width as necessary. They cannot have width, height, margins, or padding applied to them. Examples of inline elements are<span>
,<a>
, and<strong>
.inline-block
: Elements withdisplay: inline-block
behave like inline elements but can have width, height, margins, and padding applied to them. They do not start on a new line. This value is useful when you want elements to be inline but still have block-level properties.