CSS - Hyphenate Character
Syntax and Usage
The CSS hyphens
property controls the hyphenation of text in an element. It accepts three values: none
, manual
, and auto
.
-
none
: This is the default value. When set tonone
, hyphenation is disabled, and words will not be hyphenated, even if they exceed the available space. -
manual
: When set tomanual
, hyphenation is enabled but only applies to words manually hyphenated using the soft hyphen character (­
). This allows for specific control over which words should be hyphenated. -
auto
: When set toauto
, the browser automatically hyphenates words as needed to optimize text layout based on language and typographic rules.
Example of the syntax
.element {
hyphens: auto;
}
Browser support for the property varies. Most modern browsers support it, but some older versions may not. To check compatibility with different browsers, you can refer to online resources like Can I Use (https://caniuse.com/#feat=css-hyphens).
When using this property, it's recommended also to specify the lang
attribute on the HTML element or use the CSS lang property to indicate the language of your text content. This helps apply correct rules specific to that language.
Keep in mind that this property only applies to block-level elements and inline-block elements. It does not work on inline elements unless they have a specific width set.
Hyphenation with CSS
Setting Hyphenation
To enable automatic hyphenation for text in an element, you can use the hyphens
property with the auto
value. When set to auto
, the browser will automatically add hyphens to words as needed to break them across lines for better text layout and readability.
Example: Setting Hyphenation
p {
hyphens: auto;
}
Specifying Hyphenation Zone
The hyphenate-limit-zone
property allows you to define the width of the hyphenation zone, which is the area near the edge of the container where hyphens are allowed. This property takes a length value.
Example: Specifying Hyphenation Zone
p {
hyphens: auto;
hyphenate-limit-zone: 50px;
}
Limiting Consecutive Hyphens
To control the minimum number of characters before and after a hyphen, you can use the hyphenate-limit-chars
property. It takes three values: minimum characters before a hyphen, minimum characters after a hyphen, and an optional third value for minimum word length to be eligible for a break.
Example: Limiting Consecutive Hyphens
p {
hyphens: auto;
hyphenate-limit-chars: 4 3 8;
}
Controlling Hyphenation Breaks
The hyphenate-limit-lines
property allows you to limit how many consecutive lines can end with a break point. It helps prevent too many broken lines in sequence.
Example: Controlling Hyphenation Breaks
p {
hyphens: auto;
hyphenate-limit-lines: 2;
}
In this example, no more than two consecutive lines will end with breaks. If another line would need one, it moves it instead.