How to use CSS logical properties for internationalization
Sep 24, 2025 am 02:54 AMLogical properties enable adaptable, international layouts by replacing fixed directions with flow-relative terms like block and inline, ensuring consistent styling across LTR, RTL, and vertical writing modes.
CSS logical properties help build flexible, international-ready layouts by using directional terms like block and inline instead of fixed physical directions like top, left, bottom, or right. This makes styling adapt automatically to different writing modes—such as left-to-right (LTR), right-to-left (RTL), or vertical scripts—common in global languages.
Understand block and inline axes
The block axis is the direction in which blocks flow—typically top to bottom in horizontal writing modes. The inline axis is the direction content flows within a line—left to right in LTR, right to left in RTL, or top to bottom in vertical scripts like Japanese.
Instead of using:
margin-top: 10px;padding-left: 20px;
Use logical equivalents:
margin-block-start: 10px;padding-inline-start: 20px;
This ensures spacing adjusts correctly based on the user’s language direction without extra CSS.
Replace physical properties with logical ones
Swap traditional properties for their logical counterparts to support multiple writing modes:
- margin-top / margin-bottom → margin-block-start / margin-block-end
- padding-left / padding-right → padding-inline-start / padding-inline-end
- width / height → inline-size / block-size
- left / right → inset-inline-start / inset-inline-end
Example:
.container {??inset-inline-start: 16px;
??block-size: 100px;
}
This positions and sizes elements consistently across Arabic (RTL), English (LTR), and Mongolian (vertical) layouts.
Use with writing-mode and direction
Logical properties work best when combined with writing-mode and direction attributes. Browsers use these to determine how to apply logical styles.
Set on an element or body:
html[dir="rtl"] {??writing-mode: horizontal-tb;
??direction: rtl;
}
Now margin-inline-start will point to the right in RTL, matching user expectations.
Test across languages
Always test your layout with real multilingual content. Apply dir="rtl" to HTML or use writing-mode: vertical-rl to simulate different scripts. Logical properties should make your layout adjust smoothly without flipping margins or paddings manually.
For example, a card component using padding-inline-start will keep consistent internal spacing whether viewed in English, Arabic, or Chinese.
Basically, logical properties future-proof your CSS. You write once, and it works across diverse languages and writing systems.
The above is the detailed content of How to use CSS logical properties for internationalization. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

ArtGPT
AI image generator for creative art from text prompts.

Stock Market GPT
AI powered investment research for smarter decisions

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

clamp() function realizes responsive font scaling through the minimum, preferred and maximum values; 2. The syntax is clamp (minimum value, preferred value, maximum value), and commonly used rem and vw units; 3. The font takes the minimum value on the small screen, and scales according to vw as the screen increases, and does not exceed the maximum value; 4. Reasonably select the numerical value to ensure readability and avoid being too large or too small; 5. Combining the rem type proportion to improve design consistency.

Use aspect-ratio:1/1 to create a responsive square, and set the aspect ratio in modern browsers; if you need to be compatible with old browsers, you can use padding-top:100% technique to maintain the consistency of width and height by relative units; you can also use vw units to make the square change with the viewport.

1. Open the web page printing interface, click "More Settings" and uncheck "Header and Footer" to remove automatically added URLs, dates and other information. 2. By adding the CSS style of @mediaprint{@page{margin:0}} to the web page code, the default margins and headers and footers can be cleared. 3. Install third-party printing extensions such as PrintEdit, which can edit print content more flexibly and disable the default header and footer.

Use backdrop-filter:blur() to achieve the frosted glass effect, combining rgba transparent background, thin borders and rounded corners, such as .frosted-card{backdrop-filter:blur(10px);background-color:rgba(255,255,255,0.1);border:1pxsolidrgba(255,255,255,0.2);border-radius:12px;padding:20px;}, be sure to ensure that there is content behind the elements and pay attention to browser compatibility.

Define CSS variables and combine prefers-color-scheme to implement dark mode. Set light-color themes through:root, overwrite them as dark colors in @media, use variables to uniformly apply styles, and optionally switch between JavaScript to add transition and contrast optimization experience.

Use the :last-child pseudo-class selector to accurately locate the last child element in the parent container, regardless of its type. For example, li:last-child is used for the last item on the list, and *:last-child is suitable for any ending element. Unlike :last-of-type, :last-child only focuses on whether it is the last child node, while :last-of-type matches the last instance of a particular type. This method is widely supported and is suitable for scenarios such as removing unnecessary margins or highlighting the last item.

Logicalpropertiesenableadaptable,internationallayoutsbyreplacingfixeddirectionswithflow-relativetermslikeblockandinline,ensuringconsistentstylingacrossLTR,RTL,andverticalwritingmodes.

The:emptypseudo-classselectselementswithnocontentorchildren,includingnospacesorlinebreaks;forexample,div:emptystylescompletelyemptydivs,andcombiningitwith::beforecaninsertfallbackmessageslike"Nocontentavailable"toimprovelayouthandlingindyna
