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 left
properti 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?
css
css-position
eric.itzhak
sumber
sumber
left
gunakan:var cssObject = $('selector').prop('style'); cssObject.removeProperty('left');
Jawaban:
left:auto;
Ini akan mengembalikan default
left
ke 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; }
sumber
Di masa depan akan digunakan
left: unset;
untuk menghapus nilai kiri.Mulai hari ini 4 nov 2014
unset
hanya 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.
sumber
right
posisi untuk perubahan responsif - bekerja dengan sempurna (di Chrome)left: initial
Ini juga akan menyetel
left
kembali ke default browser.Namun penting untuk diketahui
property: initial
tidak didukung di IE.sumber