Bagaimana cara menghapus properti Kiri saat posisi: mutlak?

138

Saya mengganti CSS situs ke versi RTL ketika bahasa tertentu dipilih.

Saya memiliki elemen yang harus memiliki pemosisian absolut. Dalam versi LTR, saya lakukan left: 0px;dan itu disejajarkan ke kiri; dalam versi RTL saya ingin melakukan hal sebaliknya right, tetapi leftproperti tidak diganti sehingga tetap berada di sebelah kiri.

  • Saya sudah mencoba meretas dengan !important, tetapi tidak berhasil.
  • Saya sudah mencoba pengaturan left: none, tetapi tidak berhasil.

Bagaimana cara menyetelnya ke tidak ada atau menghapusnya sepenuhnya saat mengganti?

eric.itzhak
sumber
Untuk menghapus hanya atribut css tertentu seperti leftgunakan:var cssObject = $('selector').prop('style'); cssObject.removeProperty('left');
ilgaar
developer.mozilla.org/en-US/docs/Web/CSS/left dijelaskan. Nilai awal otomatis
Serkan KONAKCI

Jawaban:

324
left:auto;

Ini akan mengembalikan default leftke default browser.


Jadi jika Anda memiliki Markup / CSS sebagai:

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

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

Saat menyetel RTL, Anda dapat mengubah ke:

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

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

Di masa depan akan digunakan left: unset;untuk menghapus nilai kiri.

Mulai hari ini 4 nov 2014 unsethanya didukung di Firefox.

Baca selengkapnya tentang tidak disetel di MDN.

Dugaan saya adalah kita akan dapat menggunakannya sekitar tahun 2022 ketika IE 11 benar-benar dihapus.

Jonas Äppelgran
sumber
1
IE menempatkan "IE" di "I'llnever dIE."
adam rowe
1
Pada akhir tahun 2017 Microsoft Edge build 10565+ mendukungnya
Taras Yaremkiv
Baru saja menggunakan ini untuk membersihkan rightposisi untuk perubahan responsif - bekerja dengan sempurna (di Chrome)
SenAnan
1
left: initial

Ini juga akan menyetel leftkembali ke default browser.

Namun penting untuk diketahui property: initialtidak didukung di IE.

MORHERO
sumber