197 of 264 menu

Fungsi getComputedStyle

Fungsi getComputedStyle membenarkan anda mendapatkan nilai sebarang sifat CSS elemen, walaupun dari fail CSS.

Sintaks

let objek = getComputedStyle(elemen);

Perincian

Bagaimana ia berfungsi (perhatian: tidak seperti yang kita jangkakan): parameternya fungsi menerima elemen, dan mengembalikan objek, yang mengandungi semua sifat CSS elemen yang diberikan. Mari letakkan objek ini dalam pembolehubah style. Namanya sewenang-wenangnya, ini hanya pembolehubah - bagaimana kita fikirkan, begitulah kita akan rujuk:

let elem = document.querySelector('#elem'); let style = getComputedStyle(elem); // dalam style terletak sifat CSS

Mari kita keluarkan, sebagai contoh, lebar. Ini dilakukan begini - style.width:

let elem = document.querySelector('#elem'); let style = getComputedStyle(elem); console.log(style.width);

Untuk mengeluarkan, sebagai contoh, padding kiri - lakukan ini - style.paddingLeft:

let elem = document.querySelector('#elem'); let style = getComputedStyle(elem); console.log(style.paddingLeft);

Dalam contoh seterusnya kita akan mengeluarkan semua sifat CSS yang menarik minat kita untuk elemen kami:

<div id="elem">text</div> #elem { width: 200px; height: 200px; padding: 30px; border: 20px solid #BCBCBC; overflow: auto; } let elem = document.querySelector('#elem'); let style = getComputedStyle(elem); console.log('paddingLeft: ' + style.paddingLeft); // akan mengeluarkan '30px' console.log('borderTopWidth: ' + style.borderTopWidth); // akan mengeluarkan '20px' console.log('borderTopStyle: ' + style.borderTopStyle); // akan mengeluarkan 'solid'

Ketidaktepatan getComputedStyle

Kadang-kadang fungsi getComputedStyle berfungsi tidak begitu tepat dengan lebar dan tinggi. Ini berkaitan dengan fakta bahawa padding dan sempadan mengembangkan blok. Dalam contoh seterusnya, blok diberikan lebar 200px, serta sempadan dan border. Lebar sebenar blok ialah 300px, tetapi getComputedStyle tetap akan mengeluarkan 200px:

<div id="elem">text</div> #elem { width: 200px; height: 200px; padding: 30px; border: 20px solid #BCBCBC; overflow: auto; } let elem = document.querySelector('#elem'); let style = getComputedStyle(elem); console.log('width: ' + style.width); // akan mengeluarkan '200px' console.log('height: ' + style.height); // akan mengeluarkan '200px'

Iaitu: ternyata getComputedStyle mengabaikan pengembangan blok dan menunjukkan dimensinya seolah-olah pengembangan ini tidak wujud. Tetapi itu belum semua: kehadiran atau ketiadaan bar skrol juga penting - beberapa pelayar menolak lebar bar skrol dari lebar, yang dikira melalui getComputedStyle, dan beberapa tidak menolak. Secara umum di sini semuanya tidak merentas pelayar dan lebih baik getComputedStyle untuk menentukan lebar dan tinggi tidak digunakan, dan gunakan metrik, yang akan kita pelajari di bawah.

Nilai Terkira

Ada satu lagi nuansa: jika lebar diberikan dalam % - maka selepas kerja getComputedStyle kita akan melihat ia dalam px. Iaitu pada dasarnya kita tidak mendapat lebar yang diberikan, tetapi yang terkira. Lihat pada contoh seterusnya:

<div id="elem">text</div> #elem { width: 30%; /* lebar diberikan dalam % */ height: 200px; padding: 30px; border: 20px solid #BCBCBC; overflow: auto; } let elem = document.querySelector('#elem'); let style = getComputedStyle(elem); console.log('width: ' + style.width); // akan mengeluarkan lebar dalam px

Lihat juga

  • sifat cssText,
    yang memberikan gaya CSS secara pukal
Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak