CSSkankan(good)

Px,em,rem的区别

2022-09-16  本文已影响0人  璃安_

在css中单位长度用的最多的是px、em、rem,这三个的区别是:
1.px是固定的像素,一旦设置了就无法因为适应页面大小而改变。
2.em和rem相对于px更具有灵活性,他们是相对长度单位,长度不是定死了的,更适用于响应式布局。
3.em是相对于其父元素来设置字体大小的,一般都是以<body>的“font-size为准。这样就会存在一个问题,进行任何元素设置,都有可能需要知道他父元素的大小。但是Rem是相对于根元素<html>,就是说我们只需要在根元素确定一个参考值。
4.像素(px):用于元素的边框或定位。
5.em/rem:用于做响应式页面,最好使用rem,因为em不同元素的参照物不一样(都是该元素父元素),所以在计算的时候不方便,相比之下rem就只有一个参照物(html元素)

  1. 关于em
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
        font-size: 40px;
        width: 7.5em; /* 这个为300px,因为是相当于上面的font-size */
        height: 7.5em;
        border: solid 2px rgb(9, 235, 171);
    }
 p {
        font-size: 0.5em; /* 这里为20px,如果是1em就是40px */
        width: 7.5em; /* 150px */
        height: 7.5em;
        border: solid 2px skyblue ;
        color: skyblue;
    }
span {
        font-size: 0.5em;
        width: 7em;
        height: 6em;
        border: solid 1px pink;
        display: block;
        color: pink;
    }
    </style>
</head>
<body>
    <div>
        父亲
        <p>
           儿子
            <span>孙子</span>
        </p>
    </div>
</body>
</html>
image.png
2.关于rem
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        html {
        font-size: 10px;/* 下面rem的值都是相对于这个来设置的,如果这里html的值改动,下面所设置的rem的所有也会跟着有影响*/
    }
    div {
        font-size: 4rem; /* 40px */
        width: 20rem;  /* 200px */
        height: 20rem;
        border: solid 2px rgb(40, 238, 50);
    }
    p {
        font-size: 2rem; /* 20px */
        width: 10rem;
        height: 10rem;
        border: solid 1px rgb(66, 192, 238);
        color:rgb(24, 207, 240) ;
    }
    span {
        font-size: 1.5rem;
        width: 7rem;
        height: 6rem;
        border: solid 2px rgb(248, 112, 27);
        display: block;
        color: rgb(235, 112, 24);
    }
    </style>
</head>
<body>
     <div>
        父亲
        <p>
           儿子
            <span>孙子</span>
        </p>
    </div>
</body>
</html>
image.png
上一篇下一篇

猜你喜欢

热点阅读