Je remplace le CSS du site par une version RTL lorsqu'une langue spécifique 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 le contraire right
, mais la left
propriété n'est pas remplacée donc elle reste toujours à gauche.
- J'ai essayé de pirater avec
!important
, mais cela n'a pas fonctionné. - J'ai essayé le réglage
left: none
, mais cela n'a pas fonctionné.
Comment puis-je le définir sur aucun ou le supprimer complètement lors du remplacement?
css
css-position
eric.itzhak
la source
la source
left
utilisez:var cssObject = $('selector').prop('style'); cssObject.removeProperty('left');
Réponses:
Cela reviendra par défaut
left
à la valeur par défaut du navigateur.Donc, si vous avez votre balisage / CSS comme:
Lors de la configuration de RTL, vous pouvez passer à:
la source
Dans le futur, on utiliserait
left: unset;
pour annuler la valeur de left.À partir d'aujourd'hui, le 4 novembre 2014
unset
n'est pris en charge que par Firefox.En savoir plus sur unset dans MDN.
Je suppose que nous pourrons l'utiliser vers 2022, lorsque IE 11 sera correctement supprimé.
la source
right
position pour un changement réactif - a parfaitement fonctionné (dans Chrome)Cela
left
rétablira également la valeur par défaut du navigateur.Mais important de savoir
property: initial
n'est pas pris en charge dans IE.la source