Salta al contenuto ID

Selettore CSS in base alla lingua

Oggi ho dovuto correggere un menu orizzontale, nel sito ci sono 4 lingue (italiano, inglese, tedesco e francese). Le prime tre sono perfette mentre il francese, a causa delle voci più lunghe, non riesce a rimanere nello spazio assegnato.

Per farlo apparire nel modo giusto basterebbe cambiare il padding a sinistra e a destra delle voci, ma se non volessi alterare tutti i menu, ma solo quello francese, come si può fare?
Se nel sito possiamo disporre dell’attributo “lang” in tag <html> allora possiamo usare il seguente css per intercettare le nostre voci del menu in francese.

html:lang(fr) #wrapper .navbar a, html[lang="fr"] #wrapper .navbar a {
    padding: 15px;
}

I selettori per intercettare la lingua della pagina sono due per compatibilità tra browser.
In HTML si può definire la lingua della pagina tramite un attributo nel tag <html> (lang=”it” oppure xml:lang=”it”), oppure anche tramite il Meta tag <meta name=”language” content=”it”>.

La pseudo classe “:lang(it)” fa un controllo se l’elemento è nella lingua “it”. Non importa quale metodo sia stato usato.
Mentre [lang=“it”] segue le regole css secondo cui solo la corrispondenza dell’elemento con quell’attributo è valida.

Comments (0)

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Torna su