Cheat Sheets - CSS
CSS Grid
Basic Grid Container
display: grid;grid-template-columns: 2fr 200px 1fr; /* fr = fractional unit */grid-gap: 1rem;
Grid Areas
.header { grid-area: header; }.sidebar { grid-area: sidebar; }main { grid-area: main; }footer { grid-area: footer; }grid-template-areas:"header header header""sidebar main main""footer footer footer";
Auto-fit Responsive Grid
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
Grid Item Placement
grid-column: 1 / 3; /* span columns 1-2 */grid-row: 2 / 4; /* span rows 2-3 */
Flexbox
Flex Container Basics
display: flex;flex-direction: row; /* row | column | row-reverse | column-reverse */justify-content: space-between; /* main axis alignment */align-items: center; /* cross axis alignment */
Perfect Center
display: flex;justify-content: center;align-items: center;
Flex Item Control
flex: 1 1 auto;/* flex-grow flex-shrink flex-basis */
Wrap Items
display: flex;flex-wrap: wrap;gap: 1rem;
Media Queries
Mobile First
/* Mobile styles first */.container { width: 100%; }@media (min-width: 768px) {.container { width: 750px; }}
Desktop First
/* Desktop styles first */.container { width: 1200px; }@media (max-width: 768px) {.container { width: 100%; }}
Common Breakpoints
@media (min-width: 640px) { /* sm */ }@media (min-width: 768px) { /* md */ }@media (min-width: 1024px) { /* lg */ }@media (min-width: 1280px) { /* xl */ }
Range Query
@media (min-width: 768px) and (max-width: 1023px) {/* Tablet only */}
CSS Utilities
Custom Properties (CSS Variables)
:root {--primary-color: #3b82f6;--spacing: 1rem;}.button {background: var(--primary-color);padding: var(--spacing);}
Clamp for Responsive Text
font-size: clamp(1rem, 4vw, 2rem); /* min, preferred, max */
Absolute Centering (Alternative to Flex/Grid)
/* When you can't use flex or grid */.center {position: absolute;inset: 0; /* shorthand for top:0 right:0 bottom:0 left:0 */margin: auto;width: fit-content;height: fit-content;}
Aspect Ratio
.video-container {aspect-ratio: 16 / 9; /* width / height */width: 100%;}