CSS writing-mode Property
Defines whether lines of text are laid out horizontally or vertically
Syntax
writing-mode: horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr;Values
| Value | Description |
|---|---|
| horizontal-tb | Content flows horizontally, top to bottom (default) |
| vertical-rl | Content flows vertically, right to left |
| vertical-lr | Content flows vertically, left to right |
| sideways-rl | Content flows vertically, glyphs sideways right to left |
Example
.vertical-label {
writing-mode: vertical-rl;
text-orientation: mixed;
}Understanding CSS writing-mode
The CSS writing-mode property defines whether lines of text are laid out horizontally or vertically. As part of the Layout module in CSS, it is one of the most commonly used properties for controlling the visual presentation of web pages.
You can set writing-mode to values such as horizontal-tb, vertical-rl, vertical-lr, sideways-rl, among others. Each value changes how the browser renders the affected element, giving you fine-grained control over your page layout and design. Choosing the right value depends on the specific design requirements of your project.
Common use cases for the writing-mode property include responsive web design, component-based layouts, and creating visually consistent interfaces across devices. It works closely with related properties like direction, text-orientation, text-combine-upright to achieve complex styling effects. Understanding how these properties interact helps you write cleaner, more maintainable stylesheets.
Browser support for writing-mode is excellent across all modern browsers including Chrome, Firefox, Safari, and Edge. For older browsers, consider using fallback values or progressive enhancement strategies. The property can also be set dynamically via JavaScript using element.style.writingMode or the CSS custom properties (variables) approach for theming.
Related Properties
Explore More CSS Properties
Browse our complete reference of 251 CSS properties with syntax, examples, and tips.