em và rem là các đơn vị tương đối dựa trên phông chữ và sẽ khác nhau khi sử dụng ems cho phông chữ hoặc cho độ dài, vì vậy cả ems và rems đều dựa trên phông chữ nhưng sự khác biệt giữa chúng là ems sử dụng phần tử gốc hoặc phần tử hiện tại làm tham chiếu trong khi rems sử dụng kích thước phông chữ gốc làm tham chiếu.
Nếu chúng ta muốn sử dụng ems cho kích thước phông chữ thì tham chiếu chỉ đơn giản là kích thước phông chữ được tính toán của cha mẹ tương tự như những gì xảy ra với tỷ lệ phần trăm.
Trong ví dụ dưới đây, kích thước phông chữ ba em trên phần tử con tiêu đề dẫn đến 72 pixel đơn giản vì đó là ba lần kích thước phông chữ mẹ là (150/100) * 16 = 24px. Bây giờ về độ dài, nó chỉ khác một chút. Phần đệm 2em trên tiêu đề, vì đó là phép đo chiều dài, sử dụng kích thước phông chữ của phần tử hiện tại làm tham chiếu và chúng ta đã biết đó là 24 pixel, vì vậy 2em sẽ dẫn đến phần đệm 48 pixel, hiểu không? Đó là một sự khác biệt nhỏ, nhưng là một điều quan trọng. Khi bạn sử dụng em nếu nó cho phông chữ thì tham chiếu là gốc và cho chiều dài, tham chiếu là phần tử hiện tại.
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%;
}
Về phần còn lại, nó thực sự hoạt động theo cùng một cách cho cả kích thước và độ dài phông chữ vì nó luôn chỉ sử dụng kích thước phông chữ gốc làm tham chiếu. Điều này có nghĩa là 10 đoạn đệm rem mà chúng ta có ở đây sẽ dẫn đến 160 pixel vì kích thước phông chữ gốc là 16.