美文网首页CSSkankan(good)
Px,em,rem的区别

Px,em,rem的区别

作者: 璃安_ | 来源:发表于2022-09-16 09:19 被阅读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
    • 子元素字体大小的em是相对于父元素字体大小
    • 元素width/height/padding/margin用em的话是相对于该元素的font-size
    <!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
    • rem是相对于<html>元素。一般都是给html元素设置一个字体大小,然后其他元素的长度单位就为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

    相关文章

      网友评论

        本文标题:Px,em,rem的区别

        本文链接:https://www.haomeiwen.com/subject/tbjcortx.html