Mengapakah `Element.style` Mengembalikan Nilai Berbeza untuk Gaya Lembaran Gaya Sebaris dan Master?

Susan Sarandon
Lepaskan: 2024-11-10 21:28:02
asal
845 orang telah melayarinya

Why Does `Element.style` Return Different Values for Inline and Master Stylesheet Styles?

Percanggahan Pencapaian Gaya Paparan dalam Lembaran Gaya Induk

Apabila mengakses gaya elemen melalui sifat Element.style JavaScript, adalah penting untuk mengambil perhatian potensi perbezaan dalam tingkah laku berdasarkan cara gaya diisytiharkan.

Dalam senario yang diterangkan, paparan awal:tiada gaya ditetapkan sebaris pada elemen DIV. Walau bagaimanapun, elemen itu kemudiannya disembunyikan apabila gaya awal dialihkan ke helaian gaya induk. Menariknya, mengakses sifat style.display elemen mengembalikan rentetan kosong, manakala sifat yang sama yang diakses melalui gaya sebaris mengembalikan "tiada".

Tingkah laku ini dikaitkan dengan perbezaan antara gaya yang diisytiharkan dan gaya dikira. Gaya yang diisytiharkan ialah gaya yang ditetapkan secara eksplisit kepada elemen, sama ada sebaris atau melalui lembaran gaya. Gaya yang dikira, sebaliknya, mewakili gaya terpamer akhir bagi sesuatu elemen, dengan mengambil kira semua faktor yang berkaitan, termasuk gaya yang diwarisi dan bertingkat.

Apabila mengakses Element.style, anda hanya mendapat gaya yang diisytiharkan. Untuk mendapatkan gaya yang dikira, yang mencerminkan gaya sebenar yang digunakan pada elemen, anda mesti menggunakan kaedah window.getComputedStyle(). Kaedah ini menyediakan perwakilan komprehensif penggayaan elemen, termasuk sifat yang dipengaruhi oleh nilai warisan, lata dan lalai penyemak imbas.

Dengan menggunakan getComputedStyle(), anda boleh mendapatkan semula gaya paparan elemen dengan pasti, walaupun ia pada mulanya disembunyikan melalui helaian gaya induk:

const element = document.getElementById('myDiv');
const display = getComputedStyle(element).getPropertyValue('display');
// display will now return 'none' or 'block', as appropriate
Salin selepas log masuk

Pendekatan yang diperbetulkan ini memastikan anda mengakses gaya pengiraan elemen yang tepat, tanpa mengira cara gaya unsur tersebut diisytiharkan.

Atas ialah kandungan terperinci Mengapakah `Element.style` Mengembalikan Nilai Berbeza untuk Gaya Lembaran Gaya Sebaris dan Master?. 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