0
点赞
收藏
分享

微信扫一扫

网页布局之 - rem布局

扒皮狼 2022-04-26 阅读 214
前端

实现在不同宽度的设备中,网页元素尺寸等比缩放效果


目录

一、rem布局是什么?

二、媒体查询基本使用

三、rem布局流程

       1.媒体查询添加根字号

        2.flexible添加根字号


一、rem布局是什么?

效果展示:

代码如下:

<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>rem基本使用</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        /* 1rem=1根字号的大小 */
        /* 1.html有字号 */
        /* 2.盒子添加尺寸,单位是rem */
        html {
            font-size: 20px;
        }
        .box {
            width: 5rem;
            height: 3rem;
            background-color: #ccc;
        }   
    </style>
</head>
<body>
    <div class="box"></div>
</body>

 二、媒体查询基本使用

视口不同,添加不同的根字号

效果展示:

代码如下:

<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>
        /* 设备宽度不同,根字号不同 */
        /* 如果检测到 设备的宽度是320的时候 大括号的css才生效 */
        @media (width :320px) {
            html {
                font-size: 32px;
            }
            body {
                background-color: #ccc;
            }
        }
        @media (width :375.2px) {
            html {
                font-size: 40px;
            }
            body {
                background-color: pink;
            }
        }
    </style>
</head>
<body>
</body>

 三、rem布局流程

1.媒体查询添加根字号

效果及代码展示:

<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>rem适配</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }     
        /* 原则:rem:根字号=视口的宽度1/10 */
        /* 320,375,414 */
        @media (width: 320px) {
            html {
                font-size: 32px;
            }
        }
        @media (width: 375.2px) {
            html {
                font-size: 37.5px;
            }
        }
        @media (width: 414.4px) {
            html {
                font-size: 41.4px;
            }
        }
        .box {
            width: 5rem;
            height: 3rem;
            background-color: #ccc;
        }
    </style>
</head>
<body>
    <div class="box"></div>
</body>

 2.flexible添加根字号

效果展示: html代码:

<!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>rem开发流程</title>
    <link rel="stylesheet" href="./demo.css">
</head>
<body>
    <div class="box"></div>

    <script src="../js/flexible.js"></script>
</body>
</html>

css代码段: 

/* box 68*29 */
/* 1.媒体查询,设置不同设备的根字号 */
/* @media (width: 320px) {
    html {
        font-size: 32px;
    }
}
@media (width: 375.2px) {
    html {
        font-size: 37.5px;
    }
}
@media (width: 414.4px) {
    html {
        font-size: 41.4px;
    }
} */

/* 2.写box的盒子模型,单位rem */
.box {
    width: 1.813rem;
    height: 0.773rem;
    background-color: #ccc;
}
举报

相关推荐

0 条评论