em और rem फॉन्ट-आधारित रिश्तेदार इकाइयाँ हैं और यह फोंट या लंबाई के लिए ems का उपयोग करने के लिए अलग है, इसलिए ems और rems फॉन्ट-आधारित दोनों हैं, लेकिन उनके बीच का अंतर यह है कि ems माता - पिता या वर्तमान का उपयोग करते हैं तत्व का रिम्स के संदर्भ के रूप में करते हैं संदर्भ के रूप में रूट फ़ॉन्ट आकार का उपयोग करें।
अगर हम फ़ॉन्ट-आकारों के लिए ईम का उपयोग करना चाहते हैं, तो संदर्भ बस माता-पिता द्वारा फ़ॉन्ट-आकार की गणना की जाती है जो प्रतिशत के साथ होता है।
बेलो उदाहरण में, हेडर चाइल्ड एलिमेंट पर एक तीन एम फॉन्ट-साइज़ 72 पिक्सल्स में सिर्फ़ इसलिए निकलता है क्योंकि वह तीन गुना पेरेंट फॉन्ट साइज़ है जो (150/100) * 16 = जीपीएक्स है। अब लंबाई के लिए, यह थोड़ा अलग है। हेडर पर 2em पैडिंग, क्योंकि यह एक लंबाई माप है, वर्तमान तत्व के फ़ॉन्ट आकार को संदर्भ के रूप में उपयोग करता है और हम पहले से ही जानते हैं कि यह 24 पिक्सेल है, इसलिए 2em 48-पिक्सेल पैडिंग में परिणाम देगा, इसे मिला? यह एक सूक्ष्म अंतर है, लेकिन एक महत्वपूर्ण है। जब आप उन्हें उपयोग करते हैं यदि यह फोंट के लिए है तो संदर्भ माता-पिता और लंबाई के लिए है, संदर्भ वर्तमान तत्व है।
html,body{
font-size:16px;
width:80vw;
}
header{
font-size:150%;
padding 2em;
margin-bottom:10rem;
height:90vh;
widht 1000px;
}
header-child{
font-size:3em;
padding:10%;
}
रेम के बारे में, यह वास्तव में फ़ॉन्ट आकार और लंबाई दोनों के लिए एक ही तरह से काम करता है क्योंकि यह हमेशा रूट फ़ॉन्ट आकार को संदर्भ के रूप में उपयोग करता है। इसका मतलब है कि हमारे यहां जो 10 रेम पैडिंग हैं, उनका परिणाम 160 पिक्सल होगा क्योंकि रूट फ़ॉन्ट का आकार 16 है।