Zastępuję CSS witryny do wersji RTL po wybraniu określonego języka.
Mam element, który musi mieć bezwzględne pozycjonowanie. W wersji LTR tak left: 0px;
i jest wyrównany do lewej; w wersji RTL chcę zrobić odwrotnie right
, ale left
właściwość nie jest nadpisywana, więc nadal pozostaje po lewej stronie.
- Próbowałem hakować
!important
, ale to nie zadziałało. - Próbowałem ustawić
left: none
, ale to nie zadziałało.
Jak mogę ustawić go na brak lub całkowicie usunąć podczas zastępowania?
css
css-position
eric.itzhak
źródło
źródło
left
:var cssObject = $('selector').prop('style'); cssObject.removeProperty('left');
Odpowiedzi:
Spowoduje to
left
przywrócenie domyślnych ustawień przeglądarki.Więc jeśli masz swoje znaczniki / CSS jako:
Ustawiając RTL, możesz zmienić na:
źródło
W przyszłości można by użyć
left: unset;
do rozbrojenia wartości left.Od dzisiaj 4 listopada 2014
unset
jest obsługiwany tylko w przeglądarce Firefox.Przeczytaj więcej o nieustawianiu w MDN.
Domyślam się, że będziemy mogli go używać około 2022 roku, kiedy IE 11 zostanie właściwie wycofany.
źródło
right
pozycji dla elastycznej zmiany - działało idealnie (w Chrome)Spowoduje to również
left
przywrócenie domyślnych ustawień przeglądarki.Ale ważne, aby wiedzieć,
property: initial
nie jest obsługiwane w IE.źródło