Je remplace le CSS du site par une version RTL lorsque la langue choisie est choisie.
J'ai un élément qui doit avoir un positionnement absolu. Dans la version LTR, je fais left: 0px;
Et il est aligné à gauche; dans la version RTL, je veux faire l'inverse avec right
, mais la propriété left
n'est pas remplacée et reste donc à gauche.
!important
, Mais cela n'a pas fonctionné.left: none
, Mais cela n'a pas fonctionné.Comment puis-je le définir sur none ou le supprimer complètement tout en le neutralisant?
left:auto;
Ceci fera revenir le left
par défaut au navigateur.
Donc, si vous avez votre balisage/CSS comme:
<div class="myClass"></div>
.myClass
{
position:absolute;
left:0;
}
Lorsque vous définissez RTL, vous pouvez changer pour:
<div class="myClass rtl"></div>
.myClass
{
position:absolute;
left:0;
}
.myClass.rtl
{
left:auto;
right:0;
}
À l'avenir, on utilisera left: unset;
pour annuler la valeur de gauche.
À compter d'aujourd'hui 4 novembre 2014, unset
n'est pris en charge que par Firefox.
En savoir plus sur unset dans MDN.
Je pense que nous pourrons l'utiliser vers 2022 lorsque IE 11 sera correctement éliminé.
left: initial
Ceci remettra également left
à la valeur par défaut du navigateur.
Mais important de savoir property: initial
n'est pas pris en charge dans IE.