CSS grid

Created By: chatGPT

CSS Grid Layout is a two-dimensional layout system that allows you to create complex layouts with ease. Grid provides a straightforward way to define rows and columns, enabling a more flexible and efficient layout than traditional methods like floats or positioning. Each element in the grid can be positioned precisely, making it an excellent choice for responsive design.
display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  gap: 20px;
To start using a grid, set the display property of a container to grid. You can then define the grid-template-columns and grid-template-rows properties to specify the number of columns and rows. The repeat() function allows for easier repetition of column sizes. Here’s how to create a basic layout:
.container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.item {
  background-color: lightblue;
  padding: 20px;
  border: 1px solid #333;
}
You can assign children of the grid container to specific areas by using grid-column and grid-row properties. This allows for precise control over where each item appears in the grid. For instance, to place an item across two columns:
.item-a {
  grid-column: 1 / span 2;
  grid-row: 1;
}

.item-b {
  grid-column: 3;
  grid-row: 1;
}
For a more advanced layout, you can define named grid areas. This helps in organizing complex layouts. A named grid can be defined using the grid-template-areas property, which allows you to give a name to a specific area of the grid.
.container {
  display: grid;
  grid-template-columns: 1fr 2fr;
  grid-template-rows: auto auto;
  grid-template-areas: 
    'header header'
    'sidebar content';
}

.header {
  grid-area: header;
}

.sidebar {
  grid-area: sidebar;
}

.content {
  grid-area: content;
}
With CSS Grid, creating responsive designs becomes effortless. Using media queries, you can adjust the grid layout for different screen sizes. For instance, changing the layout for smaller screens can be done by altering the number of columns:
@media (max-width: 600px) {
  .container {
    grid-template-columns: 1fr;
  }
}
Introduction And SetupSelectorsType SelectorClass SelectorId SelectorAttribute SelectorsUniversal SelectorGrouping SelectorsCombinatorsDescendant CombinatorChild CombinatorAdjacent Sibling CombinatorGeneral Sibling CombinatorPseudo ClassesHoverNth ChildNth Of TypeFocusVisitedActiveFirst ChildLast ChildOnly ChildPseudo ElementsBeforeAfterFirst LetterFirst LineBox ModelMarginPaddingBorderWidthHeightBox SizingPositioningStaticRelativeAbsoluteFixedStickyZ IndexDisplayInlineBlockInline BlockFlexGridNoneFloatClearTypographyFont FamilyFont SizeFont WeightFont StyleLine HeightLetter SpacingText AlignText DecorationText TransformVertical AlignOverflowOverflow XOverflow YVisibilityClip PathBackgroundsBackground ColorBackground ImageBackground SizeBackground PositionBackground RepeatBackground AttachmentGradientsBordersBorder WidthBorder ColorBorder StyleBorder RadiusShadowsBox ShadowText ShadowFlexboxFlex DirectionJustify ContentAlign ItemsAlign SelfFlex GrowFlex ShrinkFlex BasisOrderGridGrid Template ColumnsGrid Template RowsGrid GapGrid Auto FlowAlign ContentCss VariablesCustom PropertiesAnimationKeyframesTransitionTransformRotateScaleTranslateSkewMedia QueriesMin WidthMax WidthOrientationAspect RatioUnitsPxEmRemVhVwPercentages