web-dev-qa-db-fra.com

Comment supprimer la propriété Left quand position: absolute?

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.

  • J'ai essayé de pirater avec !important, Mais cela n'a pas fonctionné.
  • J'ai essayé de définir 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?

120
eric.itzhak
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;
}
296
Curt

À 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é.

16
Jonas Äppelgran
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.

1
MORHERO