Как удалить свойство Left при позиции: absolute?
Я переопределяю CSS сайта в RTL-версии, когда выбран конкретный язык.
У меня есть элемент, который должен иметь абсолютное позиционирование. В версии LTR я делаю left: 0px;
и выравнивается влево; в RTL-версии я хочу сделать обратное с right
, но свойство left
не переопределено, поэтому оно все еще остается слева.
- Я пробовал взломать с помощью
!important
, но это не сработало.
- Я пробовал установку
left: none
, но это не сработало.
Как я могу либо установить его на none, либо полностью удалить его при переопределении?
Ответы
Ответ 1
left:auto;
По умолчанию значение left
будет возвращено в браузер по умолчанию.
Итак, если у вас есть Markup/CSS как:
<div class="myClass"></div>
.myClass
{
position:absolute;
left:0;
}
При установке RTL вы можете изменить на:
<div class="myClass rtl"></div>
.myClass
{
position:absolute;
left:0;
}
.myClass.rtl
{
left:auto;
right:0;
}
Ответ 2
В будущем можно было бы использовать left: unset;
для отмены значения слева.
На сегодняшний день 4 ноября 2014 года unset
поддерживается только в Firefox.
Подробнее о unset в MDN.
Я предполагаю, что мы сможем использовать его примерно в 2022 году, когда IE 11 будет поэтапно отменен.
Ответ 3
left: initial
Это также установит left
обратно в браузер по умолчанию.
Но важно знать, что property: initial
не поддерживается в IE.