Back to Blog
CSSLogical PropertiesInternationalizationRTL

CSS Logical Properties Guide

Master CSS logical properties for writing-mode aware layouts that adapt to different languages and directions.

B
Bootspring Team
Engineering
March 12, 2019
6 min read

Logical properties provide writing-mode aware alternatives to physical properties like left, right, top, and bottom. Here's how to use them for better internationalization.

Physical vs Logical

Loading code block...

Inline and Block Axes

Loading code block...

Margin Properties

Loading code block...

Padding Properties

Loading code block...

Border Properties

Loading code block...

Border Radius

Loading code block...

Inset Properties

Loading code block...

Text Alignment

Loading code block...

Float and Clear

Loading code block...

Overflow

Loading code block...

Complete Component Example

Loading code block...
Loading code block...

Form Layout

Loading code block...

Best Practices

When to Use: ✓ Multi-language applications ✓ RTL language support ✓ Component libraries ✓ New projects from scratch Migration: ✓ Start with new components ✓ Replace gradually ✓ Test with dir="rtl" ✓ Use CSS logical shorthands Naming Reference: block-start → top (horizontal-tb) block-end → bottom (horizontal-tb) inline-start → left (LTR) / right (RTL) inline-end → right (LTR) / left (RTL) Avoid: ✗ Mixing physical and logical randomly ✗ Forgetting vertical writing modes ✗ Ignoring browser support ✗ Over-complicating simple layouts

Conclusion

CSS logical properties provide writing-mode aware alternatives to physical properties, making layouts automatically adapt to RTL languages and vertical writing modes. Use inline-* for horizontal flow, block-* for vertical flow, and start/end instead of left/right. This approach simplifies internationalization and creates more maintainable, direction-agnostic CSS for modern multilingual applications.

Share this article

Help spread the word about Bootspring

Related articles