Pozisyon: mutlak?


137

Belirli bir dil seçildiğinde site CSS'yi bir RTL sürümüne göre geçersiz kılıyorum.

Mutlak konumlandırmaya sahip bir elementim var. LTR versiyonunda yapıyorum left: 0px;ve sola hizalanmış; RTL sürümü ile tersini yapmak istiyorum right, ancak leftözellik geçersiz kalır, bu yüzden hala sola kalır.

  • Birlikte hack denedim !important, ama bu işi yoktu.
  • Ayarlamayı denedim left: none, ama işe yaramadı.

Geçersiz kılarken bunu nasıl yok olarak ayarlayabilirim veya tamamen kaldırabilirim?


leftKullanım gibi yalnızca belirli bir css niteliğini kaldırmak için :var cssObject = $('selector').prop('style'); cssObject.removeProperty('left');
ilgaar

Yanıtlar:


321
left:auto;

Bu, varsayılan leftolarak tarayıcı varsayılanına geri döner.


Dolayısıyla, İşaretleme / CSS'niz aşağıdaki gibi ise:

<div class="myClass"></div>

.myClass
{
  position:absolute;
  left:0;
}

RTL ayarlarken şunları değiştirebilirsiniz:

<div class="myClass rtl"></div>

.myClass
{
  position:absolute;
  left:0;
}
.myClass.rtl
{
  left:auto;
  right:0;
}

20

Gelecekte left: unset;, solun değerini ayarlamak için kullanılır .

Bugün 4 Kasım 2014 unsetyalnızca Firefox'ta desteklenmektedir.

MDN'de unset hakkında daha fazla bilgi edinin.

Benim tahminim, IE 11'in aşamalı olarak kaldırıldığı 2022 yılı civarında kullanabileceğiz.


IE "IE" yi "DIE'ye" koyar.
adam rowe

1
2017 yılı sonunda Microsoft Edge build 10565+ bunu destekliyor
Taras Yaremkiv

Bunu rightduyarlı değişim için bir pozisyonu temizlemek için kullandım - mükemmel çalıştı (Chrome'da)
SenAnan

1
left: initial

Bu ayrıca lefttarayıcı varsayılanına geri dönecektir.

Ancak bilmek önemli property: initialIE desteklenmez.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.