197 of 264 menu

Funktsioon getComputedStyle

Funktsioon getComputedStyle võimaldab saada mis tahes elemendi CSS-i omaduse väärtuse, isegi CSS-i failist.

Süntaks

let objekt = getComputedStyle(element);

Üksikasjad

Kuidas see töötab (tähelepanu: mitte nii nagu me oodatame): parameetrina võtab funktsiooni element, ja tagastab objekti, mis sisaldab endas kõiki edastatud elemendi CSS-i omadusi. Paneme selle objekti muutujasse style. Nimetus on suvaline, see on lihtsalt muutuja - kuidas me välja mõtleme, nii ja me pöördumegi:

let elem = document.querySelector('#elem'); let style = getComputedStyle(elem); // style-s on CSS-i omadused

Väljastame näiteks laiuse. See tehakse nii - style.width:

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

Et väljastada näiteks vasak padding - teeme nii - style.paddingLeft:

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

Järgmises näites väljastame kõik meid huvitavad CSS-i omadused meie elemendi jaoks:

<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); // väljastab '30px' console.log('borderTopWidth: ' + style.borderTopWidth); // väljastab '20px' console.log('borderTopStyle: ' + style.borderTopStyle); // väljastab 'solid'

GetComputedStyle ebatäpsus

Mõnikord funktsioon getComputedStyle töötab mitte päris korrektselt laiuse ja kõrgusega. See on seotud sellega, et padding ja piir laiendavad plokki. Järgmises näites on plokile määratud laius 200px, samuti piir ja border. Ploki tegelik laius on 300px, kuid getComputedStyle väljastab ikkagi 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); // väljastab '200px' console.log('height: ' + style.height); // väljastab '200px'

See tähendab: selgub, et getComputedStyle ignoreerib ploki laienemist ja näitab selle mõõtmed nii, nagu seda laienemist poleks olnud. Kuid see pole veel kõik: samuti on oluline kerimisriba olemasolu või puudumine - mõned brauserid lahutavad kerimisriba laiuse getComputedStyle kaudu arvutatud laiusest, ja mõned ei lahuta. Üldiselt on siin üldse kõik mitte cross-browser ja parem on getComputedStyle laiuse ja kõrguse määramiseks mitte kasutada, vaid kasutada mõõdikuid, mida me õpime veidi allpool.

Arvutatud väärtused

On veel üks nüanss: kui laius on määratud % - siis pärast getComputedStyle töötamist näeme seda px-des. See tähendab sisuliselt me ei saa määratud laiust, vaid arvutatud. Vaadake järgmist näidet:

<div id="elem">text</div> #elem { width: 30%; /* laius määratud %-des */ height: 200px; padding: 30px; border: 20px solid #BCBCBC; overflow: auto; } let elem = document.querySelector('#elem'); let style = getComputedStyle(elem); console.log('width: ' + style.width); // väljastab laiuse px-des

Vaata ka

  • omadus cssText,
    mis määrab massiliselt CSS-i stiile
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu