28172 sujets

CSS et mise en forme, CSS3

Bonjour !

J'ai une question toute bête à laquelle je ne trouve pas de réponse.

Je fais un site multilingue dont français et arabe. Je m'amuse bien avec les dir ltr/rtl par contre, j'ai un problème :

Sur un site 100% français si je veux faire ça :

<div class="justif"> ...
<div class="nonjustif"> ...
</div>
</div>


.justif {
text-align: justify;
}

.nonjustif {
text-align: left;
}


C'est assez simple, mais sur un site qui est soit en ltr soit en rtl en fonction du langage, y a-t-il une solution simple ? (à part utiliser l'attribut style dans le html et de le changer dynamiquement ce qui est moche)

Je m'attendais à trouver un text-align: none ou auto, mais non. Smiley decu

Merci de votre aide. Smiley smile
Je me répond car j'ai trouvé la réponse. Smiley smile

.justif {
text-align: justify;
}

.nonjustif {
text-align: left;
}

.nonjustif:lang(ar_AR) {
text-align: right;
}


Avec :

<html xml:lang="ar_AR">
Cyrare a écrit :
Je m'attendais à trouver un text-align: none ou auto, mais non. Smiley decu

En CSS3 ce serait text-align:start, mais je ne sais pas si c'est implémenté par les navigateurs.

En passant, si ta page est en HTML plutôt que XML (ou XHTML servi en application/xhtml+xml), il faudrait utiliser l'attribut lang plutôt que xml:lang.
Modifié par fvsch (26 Oct 2011 - 11:55)