getComputedStyle function

getComputedStyle function သည် element တစ်ခု၏ မည်သည့် CSS property တန်ဖိုးကိုမဆို ရယူခွင့်ပြုပေးပါသည်၊ CSS file ထဲမှပင် ရယူနိုင်ပါသည်။

ဝါကျဖွဲ့ပုံ

javascriptlet object = getComputedStyle(element);

အသေးစိတ်အချက်များ

၎င်း၏လုပ်ဆောင်ပုံ (သတိပြုရန်: ကျွန်ုပ်တို့မျှော်လင့်ထားသည့်အတိုင်း မဟုတ်ပါ)။ parameter အဖြစ် function သည် element တစ်ခုကို လက်ခံပြီး၊ ပေးပို့လိုက်သော element ၏ CSS properties အားလုံးကို ပါဝင်သော object တစ်ခုကို ပြန်ပေးပါသည်။ ထို object ကို variable တစ်ခုထဲထည့်ကြည့်ရအောင် style။ အမည်သည် စိတ်ကြိုက်ဖြစ်ပါသည်၊ ၎င်းသည် variable တစ်ခုသာဖြစ်ပြီး - ကျွန်ုပ်တို့ကြံဆသလို ခေါ်ဆိုသုံးစွဲနိုင်ပါသည်။

javascriptlet elem = document.querySelector('#elem');
let style = getComputedStyle(elem); // style တွင် CSS properties များ ရှိပါသည်

ဥပမာအားဖြင့် အနံကို ထုတ်ကြည့်ကြရအောင်။ ၎င်းကို ဤသို့လုပ်ဆောင်ပါသည် - style.width။

javascriptlet elem = document.querySelector('#elem');

let style = getComputedStyle(elem);
console.log(style.width);

ဥပမာအားဖြင့် ဘယ်ဘက် padding ကို ထုတ်ကြည့်လိုပါက - ဤသို့လုပ်ဆောင်ပါ - style.paddingLeft။

javascriptlet elem = document.querySelector('#elem');

let style = getComputedStyle(elem);
console.log(style.paddingLeft);

နောက်ဥပမာတွင် ကျွန်ုပ်တို့၏ element အတွက် ကျွန်ုပ်တို့စိတ်ဝင်စားသော CSS properties အားလုံးကို ထုတ်ကြည့်ပါမည်။

html<div id="elem">စာသား</div>
css#elem {
  width: 200px;
  height: 200px;
  padding: 30px;
  border: 20px solid #BCBCBC;
  overflow: auto;
}
javascriptlet elem = document.querySelector('#elem');

let style = getComputedStyle(elem);
console.log('paddingLeft: ' + style.paddingLeft); // '30px' ကိုထုတ်ပြမည်
console.log('borderTopWidth: ' + style.borderTopWidth); // '20px' ကိုထုတ်ပြမည်
console.log('borderTopStyle: ' + style.borderTopStyle); // 'solid' ကိုထုတ်ပြမည်

getComputedStyle ၏ တိကျမှုမရှိခြင်း

တစ်ခါတစ်ရံ function getComputedStyle သည် အနံနှင့်အမြင့်နှင့် အတိအကျမကိုက်ညီပါ။ ၎င်းမှာ padding နှင့် နယ်နိမိတ်များသည် block ကို ချဲ့ထွင်ပေးသောကြောင့်ဖြစ်ပါသည်။ နောက်ဥပမာတွင် block အား အနံ 200px သတ်မှတ်ပေးထားပြီး၊ နယ်နိမိတ်နှင့် border လည်းရှိပါသည်။ Block ၏ တကယ့်အနံမှာ 300px ဖြစ်သော်လည်း၊ getComputedStyle ကမူ 200px ကိုသာ ထုတ်ပြပါသည်။

html<div id="elem">စာသား</div>
css#elem {
  width: 200px;
  height: 200px;
  padding: 30px;
  border: 20px solid #BCBCBC;
  overflow: auto;
}
javascriptlet elem = document.querySelector('#elem');

let style = getComputedStyle(elem);
console.log('width: ' + style.width); // '200px' ကိုထုတ်ပြမည်
console.log('height: ' + style.height); // '200px' ကိုထုတ်ပြမည်

ဆိုလိုသည်မှာ: getComputedStyle သည် block ၏ချဲ့ထွင်မှုကို လျစ်လျူရှုပြီး ၎င်း၏ အရွယ်အစားများကို ထိုချဲ့ထွင်မှုမရှိခဲ့သကဲ့သို့ ပြသသည်ဟု ဆိုလိုပါသည်။ သို့သော် ဤမျှတင်မကပါ: scroll bar ၏ ရှိမရှိသည်လည်း အရေးပါပါသည်။ browser အချို့သည် scroll bar ၏အနံကို getComputedStyle မှတွက်ချက်သော အနံမှ နုတ်ပစ်ပြီး၊ အချို့ကမနုတ်ပါ။ အတိုချုပ်အားဖြင့် ဤနေရာတွင် ဘရောက်ဇာအားလုံးနှင့် သဟဇာတမဖြစ်ပါ။ ထို့ကြောင့် အနံနှင့်အမြင့်ကို သတ်မှတ်ရန် getComputedStyle ကို အသုံးမပြုဘဲ၊ မက်ထရစ်များကို အသုံးပြုသင့်ပြီး ၎င်းတို့ကို ကျွန်ုပ်တို့ အနည်းငယ်နောက်ပိုင်းတွင် လေ့လာပါမည်။

တွက်ချက်ထားသော တန်ဖိုးများ

နောက်ထပ်သတိပြုစရာ တစ်ခုရှိပါသည်။ အနံကို % ဖြင့် သတ်မှတ်ထားပါက - getComputedStyle လုပ်ဆောင်ပြီးနောက် ကျွန်ုပ်တို့မြင်ရမည်မှာ px ဖြင့်ဖြစ်ပါသည်။ ဆိုလိုသည်မှာ အခြေခံအားဖြင့် ကျွန်ုပ်တို့ရရှိသည်မှာ သတ်မှတ်ထားသော အနံမဟုတ်ဘဲ တွက်ချက်ထားသောအနံ ဖြစ်သည်။ အောက်ပါ ဥပမာကို ကြည့်ပါ။

html<div id="elem">စာသား</div>
css#elem {
  width: 30%; /* အနံကို % ဖြင့် သတ်မှတ်ထားသည် */
  height: 200px;
  padding: 30px;
  border: 20px solid #BCBCBC;
  overflow: auto;
}
javascriptlet elem = document.querySelector('#elem');

let style = getComputedStyle(elem);
console.log('width: ' + style.width); // အနံကို px ဖြင့် ထုတ်ပြမည်

ဆက်လက်ကြည့်ရှုရန်

  • cssText property,
    သည် CSS styles များကို အစုလိုက်သတ်မှတ်ပေးသည်