Rumah > hujung hadapan web > tutorial css > Bagaimanakah Saya Boleh Membetulkan Elemen pada X-Axis Sahaja dalam CSS dan JavaScript?

Bagaimanakah Saya Boleh Membetulkan Elemen pada X-Axis Sahaja dalam CSS dan JavaScript?

Linda Hamilton
Lepaskan: 2024-12-06 10:39:15
asal
460 orang telah melayarinya

How Can I Fix an Element to the X-Axis Only in CSS and JavaScript?

Letakkan Elemen Ditetapkan pada Paksi-X Sahaja

Dalam CSS, sifat kedudukan membenarkan anda mengawal kedudukan elemen pada halaman tersebut. Secara lalai, elemen diletakkan sebagai "statik", bermakna ia diletakkan mengikut aliran halaman. Walau bagaimanapun, anda boleh menggunakan nilai lain untuk meletakkan elemen dengan lebih tepat.

Untuk menetapkan elemen pada paksi-x sahaja, anda boleh menggunakan kedudukan tetap. Ini akan mengunci kedudukan elemen berbanding dengan port pandangan, jadi ia tidak akan bergerak secara mendatar walaupun apabila halaman menatal.

#element {
  position: fixed;
  top: 0;
  bottom: 0;
}
Salin selepas log masuk

Walau bagaimanapun, menggunakan kedudukan tetap pada paksi tunggal boleh menyebabkan elemen bertindih kandungan lain pada halaman apabila ia menatal secara menegak. Untuk mengelakkan ini, anda boleh menggunakan JavaScript untuk melaraskan kedudukan elemen secara dinamik pada paksi-y apabila halaman ditatal.

JavaScript Solution

Menggunakan jQuery, anda boleh lampirkan pendengar acara tatal pada tetingkap dan kemas kini kedudukan teratas elemen dengan sewajarnya.

$(window).scroll(function() {
  $('#element').css('top', $(this).scrollTop());
});
Salin selepas log masuk

Ini akan pastikan elemen kekal tetap pada paksi-x semasa menatal secara menegak.

Penyelesaian CSS

Kaedah lain untuk mencapai tingkah laku ini semata-mata dengan CSS ialah menggunakan transformasi: terjemah (). Fungsi transformasi ini boleh digunakan pada elemen untuk menggerakkannya secara menegak tanpa menjejaskan kedudukannya pada paksi-x.

#element {
  position: fixed;
  left: 15px;
  transform: translate(0, -$(window).scrollTop());
}
Salin selepas log masuk

Pendekatan ini juga akan menghalang elemen daripada bertindih dengan kandungan lain apabila ia menatal.

Penyelesaian Kemas Kini

Seperti yang dicadangkan oleh @PierredeLESPINAY, untuk membuat perubahan sokongan skrip dalam CSS tanpa perlu mengekod semulanya, anda boleh merebut kedudukan kiri awal elemen menggunakan parseInt($("#element").css('left')) dan gunakannya dalam skrip sebagai offset.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Elemen pada X-Axis Sahaja dalam CSS dan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan