getComputedStyle Funksiýasy
getComputedStyle funksiýasy
element-iň islendik CSS aýratynlygynyň bahasyny alyp bermege,
hat-da CSS faýlyndan hem mümkinçilik berýär.
Sintaksis
let obyekt = getComputedStyle(element);
Jikme-jiklikler
Ol nähili işleýär (üns beriň: biz gözleýşimiz ýaly däl):
funksiýa parametr hökmünde elementi alýar,
we gaýtarylan element-iň ähli CSS aýratynlyklaryny öz içine alýan bir obyekti gaýtarýar.
Geliň bu obyekti style üýtgeýjisine goýalyň.
Ady hökmany däl, bu
diňe bir üýtgeýji - biz nädip döredýän bolsak, şeýle-de
ýüz tutarys:
let elem = document.querySelector('#elem');
let style = getComputedStyle(elem); // style-da CSS aýratynlyklary ýatýar
Geliň, mysal üçin, ini alyp göreliň. Bu edil
şeýle edilýär - style.width:
let elem = document.querySelector('#elem');
let style = getComputedStyle(elem);
console.log(style.width);
Mysal üçin, çep padding
-i alyp görkezmek üçin - şeýle edýäris - style.paddingLeft:
let elem = document.querySelector('#elem');
let style = getComputedStyle(elem);
console.log(style.paddingLeft);
Indiki mysalda biziň elementimiz üçin biziň gyzyklanýan ähli CSS aýratynlyklaryny alyp görkezeris:
<div id="elem">tekst</div>
#elem {
ini: 200px;
beýikligi: 200px;
padding: 30px;
çäg: 20px solid #BCBCBC;
overflow: auto;
}
let elem = document.querySelector('#elem');
let style = getComputedStyle(elem);
console.log('paddingLeft: ' + style.paddingLeft); // '30px' görkezer
console.log('borderTopWidth: ' + style.borderTopWidth); // '20px' görkezer
console.log('borderTopStyle: ' + style.borderTopStyle); // 'solid' görkezer
getComputedStyle-iň takyk däl ligi
Käwagtlar getComputedStyle funksiýasy
ini we beýiklik bilen doly takyk işlemeýär.
Bu padding we çäg-iň
blogy giňeldýändigi bilen baglanyşykly.
Indiki mysalda bloga
200px ini berlen, şeýle hem çäg
we border. Bloguň hakyky ini 300px,
ýöne getComputedStyle ýene-de
200px görkezer:
<div id="elem">tekst</div>
#elem {
ini: 200px;
beýikligi: 200px;
padding: 30px;
çäg: 20px solid #BCBCBC;
overflow: auto;
}
let elem = document.querySelector('#elem');
let style = getComputedStyle(elem);
console.log('ini: ' + style.ini); // '200px' görkezer
console.log('beýikligi: ' + style.beýikligi); // '200px' görkezer
Ýagny: getComputedStyle
blogyň giňelmegine üns bermeýär we onuň
ölçeglerini bu giňelme ýok ýaly görkezýär.
Ýöne bu heniz hemme zat däl: şeýle hem aýlaw zolagynyň bolmagy ýa-da bolmazy hem
ähmýetlidir - käbir
brauzerler aýlaw zolagynyň ini
getComputedStyle arkaly hasaplanan ini-den çykarýar,
käbirleri bolsa çykarmaýar. Umuman bu ýerde
hemme zat transbrauzer däl we getComputedStyle
ini we beýikligi anyklamak üçin ulanylmak has gowydyr,
metric-leri ulanmaly, biz olary
azajyk aşakda öwreneris.
Hasaplanan bahalar
Ýene bir nýuans bar: eger ini
% -da berlen bolsa - onda getComputedStyle işinden soň biz
onu px -da göreris.
Ýagny esasan biz berlen ini däl-de, hasaplanan ini alýarys.
Indiki mysala serediň:
<div id="elem">tekst</div>
#elem {
ini: 30%; /* ini % -da berildi */
beýikligi: 200px;
padding: 30px;
çäg: 20px solid #BCBCBC;
overflow: auto;
}
let elem = document.querySelector('#elem');
let style = getComputedStyle(elem);
console.log('ini: ' + style.ini); // ini-ni px -da görkezer
Şeýle-de serediň
-
cssTextaýratynlygy,
CSS stillerini köpçülikleýin berýär