道場 · the dojo
Master CSS,
one box at a time.
Write real CSS to match a target box. Nothing is checked by comparing text — your rendering is measured against the target's, edge by edge, so any solution that produces the right layout counts.
- Tracks
- 29
- Levels
- 272
- Measured, not guessed
- 100%
Write real CSS
A live CodeMirror editor with syntax highlighting. No multiple choice, no drag-and-drop — you type the stylesheet.
Measured feedback
Your rendering is diffed against the target box, edge by edge. Feedback updates as you type, down to the pixel.
Earn your stars
Solve clean for three stars. Hints and revealed solutions cost you — progress is saved in your browser.
Curriculum
Choose your path
29 tracks · 272 levels
The Box Model
0/13Width, height, padding, border, margin — and the rules that make them behave in ways you did not expect.
Flexbox
0/11flex-direction, flex-wrap, justify-content, align-items, flex-grow, flex-shrink, flex-basis, order, gap — the layout system that finally made centring easy.
CSS Grid
0/10Rows, columns, areas and gaps — the two-dimensional layout system that finally made page layout sane.
Positioned Layout
0/10position, top/right/bottom/left, z-index — how to place elements exactly where you want them, in or out of the flow.
CSS Display
0/10block, inline, inline-block, none, flex, grid, contents, flow-root — the one property that decides how an element participates in layout.
Box Alignment
0/10justify-content, align-items, align-self, align-content, justify-items, justify-self — and the place-* shorthands that position items inside flex and grid containers.
CSS Animations
0/9Keyframes, timing, direction and fill — plus the trick of freezing an animation at its end so you can see where it lands.
CSS Transitions
0/9transition-property, duration, timing function, delay and the shorthand — animate the change between two states.
CSS Transforms
0/9translate, rotate, scale, skew — and the transform-origin that decides where they pivot.
Backgrounds & Borders
0/10Border width, style and color; rounded corners; gradients; and shadows — the paint that makes boxes look like something.
CSS Colors
0/9Keywords, hex, rgb(), hsl(), opacity and currentColor — every way to paint an element, one puzzle at a time.
CSS Fonts
0/10font-size, line-height, weight, style, family and the font shorthand — the properties that shape how text looks and how much room it takes.
CSS Text
0/9Alignment, indentation, line height, letter and word spacing, wrapping, case and decoration — the properties that shape how text sits on the page.
Multi-column Layout
0/8Flow content into side-by-side columns with column-count, column-width, column-gap, column-rule and column-span.
Conditional Rules
0/9@media, @supports and @container — the rules that make CSS respond to its environment.
Media Queries
0/10@media with min-width, max-width, orientation and prefers-* — the rules that make a layout respond to its environment.
CSS Containment
0/9The `contain` property, `content-visibility`, and `contain-intrinsic-size` — how to tell the browser what an element's size and layout can safely ignore.
CSS Fragmentation
0/8Control how content breaks across columns with break-before, break-after, break-inside, orphans and widows.
Generated Content
0/8::before, ::after, the content property, and CSS counters — the boxes you never wrote in your HTML.
CSS Images
0/9aspect-ratio, object-fit and object-position — how to size boxes and frame images inside them.
Lists & Counters
0/9Markers, list styling, and CSS counters — how to number and decorate lists without touching the markup.
Logical Properties
0/10inline-size, block-size, margin-inline, inset-block — the flow-relative way to describe size and space.
CSS Masking
0/8clip-path and the mask properties — cut, fade, and stencil elements without ever touching their box.
CSS Nesting
0/8Nest selectors inside selectors with `&` — child rules, pseudo-classes, modifiers and media queries, all without repeating the parent.
CSS Overflow
0/10What happens when content does not fit — clipping, scrollbars, ellipsis, and wrapping.
CSS Paged Media
0/9@page size and margins, :first/:left/:right page selectors, and page-break rules — the CSS that shapes how a document prints.
CSS Scroll Snap
0/10scroll-snap-type, scroll-snap-align, scroll-snap-stop, scroll-padding and scroll-margin — the properties that turn a plain scroller into a carousel.
CSS Shapes
0/8Float an element and shape the text around it with shape-outside, shape-margin and the circle, ellipse, polygon and inset functions.
Writing Modes
0/10writing-mode, direction, text-orientation and text-combine-upright — the properties that decide which way text flows.