响应式布局的五种方法

简介: 响应式布局是同一页面在不同的屏幕上有不同的布局,即只需要一套代码使页面适应不同的屏幕。

响应式布局是同一页面在不同的屏幕上有不同的布局,即只需要一套代码使页面适应不同的屏幕。

1.百分比布局

1.有父元素就相对于父元素

2.没有父元素就相对于视口的大小


举一个例子

<!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>
        *{
            margin: 0;
            padding: 0;
        }
        .box2{
            width: 80%;
            height: 100px;
            background: red;
        }
        .box{
            width: 50%;
            height: 100px;
            background: yellow;
        }
        .box1{
            width: 50%;
            height: 50%;
            background: blue;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="box1"></div>
    </div>
    <div class="box2"></div>
</body>
</html>

2.rem布局

rem(font size of the root element)是指相对于根元素的字体大小的单位,rem只是一个相对单位


rem和em的对比

  1. rem和em都是相对单位
  2. rem相对于根元素
  3. 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> %和rem 布局</title>
    <style>
        html {
            font-size: 30px;
        }
        .box {
            font-size: 10px;
        }
        .box2 {
            width: 10rem;
            height: 10rem;
            background-color: plum;
        }
        .box {
            width: 10em;
            height: 10em;
            background-color: aquamarine;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="box1"></div>
    </div>
    <div class="box2"></div>
</body>
</html>

3. 媒体查询 @media screen

例如

<!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>@media screen</title>
    <style>
        .box {
            width: 10rem;
            height: 10rem;
            background-color: pink;
            margin-left: 20rem;
        }
        /*  如果屏幕的宽大于1200px,它执行此css */
        @media screen and (min-width: 1200px) {
            html {
                font-size: 20px;
            }
        }
        /*  如果屏幕的宽小于1200px,它执行此css */
        @media screen and (max-width: 1200px) {
            html {
                font-size: 10px;
            }
        }
    </style>
</head>
<body>
    <div class="box"></div>
</body>
</html>

4. flex布局

5.vw 和 vh

vw表示相对于视图窗口的宽度,vh表示相对于视图窗口高度,除了vw和vh外,还有vmin和vmax两个相关的单位。各个单位具体的含义如下:


例如

<!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>
        *{
            margin: 0;
            padding: 0;
        }
        .box{
            width: 100vw;
            height: 100vh;
            background: red;
        }
        .box1{
            width: 50vw;
            height: 50vh;
            background: blue;
        }
    </style>
</head>
<body>
    <div class="box">
        <div class="box1">
        </div>
    </div>
</body>
</html>


相关文章
|
7月前
移动端的布局如何使用媒体查询
移动端的布局如何使用媒体查询
102 2
|
22天前
|
编解码 前端开发 UED
探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用
本文深入探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用。通过实际案例分析和注意事项的讨论,旨在帮助开发者更好地理解和运用媒体查询,提升移动端用户体验。
39 4
|
7月前
|
编解码 小程序 前端开发
在小程序中实现自适应布局或响应式设计
在小程序中实现自适应布局或响应式设计
|
7月前
|
编解码 前端开发 iOS开发
响应式布局
响应式布局
|
7月前
|
前端开发 JavaScript API
掌握CSS Flexbox,打造完美响应式布局,适配各种设备!
欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。
|
编解码 前端开发 Android开发
前端页面布局之【响应式布局】
前端页面布局之【响应式布局】
77 0
|
开发框架 移动开发 前端开发
UniApp响应式布局
UniApp 是一款基于 Vue.js 开发的跨平台应用开发框架,可以同时构建 iOS、Android、H5 等多个平台的应用。在 UniApp 中,单位(Unit)是一个非常重要的概念,它决定了应用在不同设备上的布局和样式,要适应不同设备尺寸和屏幕方向的布局是一项艰巨的任务。UniApp 提供了多种方式来实现响应式布局。通过使用 Flex 布局、媒体查询、自适应单位和条件渲染,我们可以根据不同的屏幕尺寸和方向创建出适应性强的布局,从而提供更好的用户体验。
548 1
响应式布局--媒体查询
响应式布局--媒体查询
67 0
|
前端开发 容器
前端|响应式布局原理
前端|响应式布局原理
128 0
|
编解码 前端开发 UED
实现响应式布局
在现代 Web 开发中,响应式布局已经成为了一个非常重要的概念。由于不同设备有不同的屏幕尺寸和分辨率,需要通过响应式布局来适应不同的设备。实现响应式布局的方式有很多种,下面介绍一些常见的方法。
127 0