仓库源文站点原文

在css中单位长度用的最多的是px、em、rem,这三个的区别是:

  px是固定的像素,一旦设置了就无法因为适应页面大小而改变。

  em和rem相对于px更具有灵活性,他们是相对长度单位,意思是长度不是定死了的,更适用于响应式布局。 对于em和rem的区别一句话概括:em相对于父元素,rem相对于根元素 rem中的r意思是root(根),这也就不难理解了

em

rem

rem是全部的长度都相对于根元素,根元素是谁?<html>元素。通常做法是给html元素设置一个字体大小,然后其他元素的长度单位就为rem。

html {
    font-size: 10px;
}
div {
    font-size: 4rem; /* 40px */
    width: 30rem;  /* 300px */
    height: 30rem;  /* 300px */
    border: solid 1px black;
}
p {
    font-size: 2rem; /* 20px */
    width: 15rem; /* 150px */
    height: 15rem; /* 150px */
}
span {
    font-size: 1.5rem; /* 15px */
    width: 10rem; /* 100px */
    height: 10rem; /* 100px */
}