The :lang
CSS pseudo-class matches elements based on the language the element is determined to be in. In HTML, the language is determined by a combination of the lang
attribute, the <meta>
element, and possibly by information from the protocol (such as HTTP headers). For other document types there may be other document methods for determining the language.
/* Matches paragraphs, but only if they are specified */ /* as being en (English language) */ p:lang(en) { quotes: '\201C' '\201D' '\2018' '\2019'; }
Acceptable language-code
strings are specified in the HTML 4.0 specification.
Syntax
Formal syntax
:lang( <language-code> )
Parameter
- language-code
- The
language-code
string that you want to select for.
Example
In this example, the lang
selector is used to match on the parent of a quote element using child selectors. Its not meant to demonstrate the only way to do this, or even the correct way (which would depend on the type of document). Note, Unicode values are used to specify special quote characters.
:lang(en) > q { quotes: '\201C' '\201D' '\2018' '\2019'; } :lang(fr) > q { quotes: '« ' ' »'; } :lang(de) > q { quotes: '»' '«' '\2039' '\203A'; }
...where...
<div lang="en"><q>This English quote has a <q>nested</q> quote.</q></div> <div lang="fr"><q>This French quote has a <q>nested</q> quote.</q></div> <div lang="de"><q>This German quote has a <q>nested</q> quote.</q></div>
... looks like ...
Specifications
Specification | Status | Comment |
---|---|---|
Selectors Level 4 The definition of ':lang()' in that specification. |
Working Draft | No change |
Selectors Level 3 The definition of ':lang()' in that specification. |
Recommendation | No significant change |
CSS Level 2 (Revision 1) The definition of ':lang()' in that specification. |
Recommendation | Initial definition |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 1.0 | (Yes) | 1.0 (1.7 or earlier) | 8.0 | 8.0 | 3.1 |
Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 1.0 | (Yes) | 1.0 (1) | 8.0 | 8.0 | 3.1 |
See also
- Language-related pseudo-classes:
:lang
,:dir
- Language Property
- W3C HTML4: Language codes
- W3C DOM Level 2 HTML: lang