vue 实现 rem 布局或vw 布局的方法

一、使用 rem 实现响应式布局

  1. 设置 rem 基准值

首先要设置 HTML 根元素的 font-size 值为屏幕宽度的百分之一。这样,当设备宽度发生变化时,根元素的 font-size 值也会跟着变化,从而实现响应式的布局。

html {
  font-size: calc(100vw / 7.5); /* 以 iPhone6/7/8 为标准,1rem = 100px */
}
  1. 使用 rem 进行布局

在进行页面布局时,使用 rem 作为单位代替 px,即可实现基于 rem 的响应式布局,示例代码如下:

<div class="container">
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
</div>
.container {
  width: 100%;
  display: flex;
  justify-content: space-around;
}

.box {
  width: 2rem;
  height: 2rem;
  background-color: red;
}

以上代码中,使用 flex 布局使容器元素内的子元素均分父容器宽度;同时,子元素的宽高都设置为 2rem,由于我们已经设置了 HTML 根元素的 font-size 值,所以这里的实际宽度是根据屏幕宽度来计算的。

  1. 针对不同屏幕宽度设置不同的 rem 值

如果想要在不同屏幕宽度下设置不同的 rem 值,可以使用媒体查询来实现,示例代码如下:

@media screen and (max-width: 767px) {
  html {
    font-size: calc(100vw / 10); /* 以 10 作为基准值 */
  }
}

@media screen and (min-width: 768px) {
  html {
    font-size: calc(100vw / 7.5); /* 以 7.5 作为基准值 */
  }
}

二、使用 vw 实现响应式布局

  1. 设置 vw 基准值

和 rem 布局类似,首先我们需要设置 HTML 根元素的 font-size 值为屏幕宽度的百分之一。但是这里不是使用 rem 作为单位,而是使用 vw 和 vh。

html {
  font-size: 1vw;
}
  1. 使用 vw 进行布局

在进行页面布局时,使用 vw 作为单位代替 px,即可实现基于 vw 的响应式布局,示例代码如下:

<div class="container">
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
</div>
.container {
  width: 100vw;
  display: flex;
  justify-content: space-around;
}

.box {
  width: 20vw;
  height: 20vw;
  background-color: red;
}

以上代码中,使用 flex 布局使容器元素内的子元素均分父容器宽度;同时,子元素的宽高都设置为 20vw,这样就可以根据屏幕宽度自适应地计算实际宽度了。

  1. 针对不同屏幕宽度设置不同的 vw 值

如果想要在不同屏幕宽度下设置不同的 vw 值,同样也可以使用媒体查询来实现,示例代码如下:

@media screen and (max-width: 767px) {
  html {
    font-size: 5vw; /* 以 5 作为基准值 */
  }
}

@media screen and (min-width: 768px) {
  html {
    font-size: 7.5vw; /* 以 7.5 作为基准值 */
  }
}

以上就是使用 rem 或 vw 实现响应式布局的攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue 实现 rem 布局或vw 布局的方法 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • vue过渡和animate.css结合使用详解

    下面是“vue过渡和animate.css结合使用详解”的攻略: 一、概述 Vue.js提供了非常方便的过渡动画效果,通过transition组件可以轻松实现元素的进入、离开效果。而Animate.css是一套非常流行的CSS动画库,包含了多种CSS动画效果。在Vue项目中,我们可以通过将Vue的过渡动画与Animate.css的动画效果结合使用,创造出更加…

    css 2023年6月10日
    00
  • CSS技术的出现实现结构与表现分离

    在 Web 开发的早期,HTML 和 CSS 是紧密耦合的,即 HTML 中的标记和样式信息混杂在一起。这种混杂的方式使得 Web 开发变得混乱和难以维护。为了解决这个问题,CSS 技术的出现实现了结构与表现分离。下面是一个完整攻略,包含了 CSS 技术的出现实现结构与表现分离的过程和两个示例说明。 CSS 技术的出现实现结构与表现分离 步骤一:将样式信息从…

    css 2023年5月18日
    00
  • jQuery插件animateSlide制作多点滑动幻灯片

    让我详细讲解一下“jQuery插件animateSlide制作多点滑动幻灯片”的完整攻略。 1. 准备工作 要制作一个jQuery插件animateSlide,需要先准备好以下工作: 安装jQuery库文件; 安装jQuery UI库文件; 编写html结构; 编写CSS样式; 编写JS代码。 2. 编写html结构 先来看一下一个基础的html结构: &l…

    css 2023年6月9日
    00
  • 如何实现div 图片在DIV内水平居中

    如何实现div图像在div内水平居中有几种方法:使用text-align:center和display:flex;justify-content:center;两种方法。 使用text-align:center实现div图像在div内水平居中 可以通过以下步骤实现: 为包含图片的div元素设置布局方式(display)为block或者inline-block…

    css 2023年6月9日
    00
  • HTML Dom与Css控制方法

    HTML DOM(文档对象模型)和 CSS(层叠样式表)是前端开发中非常重要的两个概念。HTML DOM 提供了一种表达文档的方式,允许开发人员通过它来修改 HTML 内容和属性,并通过 JavaScript 来处理 HTML 事件。CSS 则是一种用于样式表定义的语言,提供了一种样式设置方法,开发人员可以通过它来在 HTML 页面中设置字体、颜色、布局等,…

    css 2023年6月9日
    00
  • JavaScript的Backbone.js框架的一些使用建议整理

    我来为你详细讲解一下“JavaScript的Backbone.js框架的一些使用建议整理”的完整攻略。 一、Backbone.js框架 Backbone.js是一个轻量级的JavaScript框架,用于Web应用程序和单页应用程序(SPA)的开发。它提供了一个MVC(Model-View-Controller)模式的结构,使得Web开发更加简单和高效。 1.…

    css 2023年6月10日
    00
  • javascript 线性渐变二

    JavaScript 线性渐变二是指在网页中通过 JavaScript 实现颜色渐变的效果,可以沿着任意角度的线性轨迹进行颜色渐变的过程。以下是实现该效果的完整攻略: 步骤一:准备画布 在 HTML 页面中先准备一个画布,例如: <canvas id="gradientCanvas" width="500" he…

    css 2023年6月11日
    00
  • Vue3中使用defineCustomElement 定义组件详解

    下面我将为你详细讲解Vue3中使用defineCustomElement定义组件的完整攻略。 什么是defineCustomElement? 在Vue3中,我们可以通过defineCustomElement方法来定义一个自定义元素,自定义元素是Web Components技术的核心概念之一,它允许我们创建出具有完全自定义行为的HTML元素,它可以被认为是一种…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部