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

yizhihongxing

一、使用 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日

相关文章

  • Jquery插件之Fancybox丰富的弹出层效果附源码下载

    下面是针对“Jquery插件之Fancybox丰富的弹出层效果附源码下载”的完整攻略。 1. Fancybox是什么 Fancybox是一个轻量级且易于使用的jQuery插件,可以在网页上创建漂亮的、响应式的弹出层(lightbox)。它支持多种内容类型,例如图片、HTML元素、嵌入在iframe中的页面等,可以进行自定义设置以适应不同的应用场景。 2. F…

    css 2023年6月9日
    00
  • 网页制作小技巧 dl dt dd标签用法

    关于网页制作小技巧 dl dt dd标签用法的完整攻略,我会从以下三个方面详细讲解: 什么是 dl dt dd 标签 dl dt dd 标签的用法 dl dt dd 标签的实例说明 什么是 dl dt dd 标签 首先我们来了解一下 dl dt dd 标签,这是HTML中一种用于标记描述列表的标签,其中 dl 代表定义列表,dt 代表项,dd 代表描述。我们…

    css 2023年6月10日
    00
  • CSS3实现背景透明文字不透明的示例代码

    下面是完整的攻略: CSS3实现背景透明文字不透明的示例代码 使用 rgba() 函数 可以使用CSS3 rgba() 函数指定背景颜色,其中第四个参数是颜色的透明度。同样,我们也可以使用 rgba() 函数指定文字颜色的透明度。下面是一个示例代码: .container { background-color: rgba(255, 255, 255, 0.5…

    css 2023年6月9日
    00
  • 67 个节约开发时间的前端开发者的工具、库和资源

    67 个节约开发时间的前端开发者的工具、库和资源 作为一名前端开发者,我们需要使用各种工具和库来提高开发效率。这篇攻略总结了67个节约前端开发时间的工具、库和资源。 前端开发工具 1. Visual Studio Code Visual Studio Code是一个快速且免费的代码编辑器,支持多种语言和插件,比如自动补全、语法高亮和调试器等。 2. Subl…

    css 2023年6月11日
    00
  • Ajax上传图片及上传前先预览功能实例代码

    下面我将详细讲解“Ajax上传图片及上传前先预览功能实例代码”的完整攻略。 1. 引言 在网页开发中,上传图片的功能可谓是必备之一。而为了给用户更好的体验,我们还需要提供上传前的图片预览功能。本文将介绍如何使用Ajax上传图片以及在上传前预览图片。 2. 实现步骤 2.1 HTML结构 首先,我们需要准备HTML结构,包括一个文件上传控件和一个图片预览容器。…

    css 2023年6月11日
    00
  • CSS的后代选择器基础使用示例

    来讲解一下CSS的后代选择器基础使用示例的攻略。 什么是后代选择器? 后代选择器是CSS选择器中的一种,用于选择符合特定后代关系的元素。后代选择器使用空格来连接两个不同的选择器,表示选择具有特定关系的父元素和其子孙元素。 后代选择器基础示例 我们可以通过一些实例来说明后代选择器的使用。 示例1:使用后代选择器改变某个元素下的所有段落字体颜色 <html…

    css 2023年6月9日
    00
  • css实现中间文字两边横线效果

    要实现中间文字两边横线的效果,可以使用CSS中的伪元素 ::before 和 ::after,以及border-bottom实现。具体的实现方式如下: 首先需要在HTML中添加需要添加效果的元素,例如下面的代码,我们在h1标签中添加示例文本: <h1>This is an example text</h1> 然后,在CSS中为该元素添…

    css 2023年6月10日
    00
  • js原生代码实现轮播图的实例讲解

    下面是“js原生代码实现轮播图的实例讲解”的攻略。 1. 轮播图的基本原理 轮播图的基本原理是利用定时器,按照一定的时间间隔切换图片。一般而言,轮播图有两种切换方式: 水平方向的切换:即图片从左到右依次展示的切换方式。 垂直方向的切换:即图片从上往下依次展示的切换方式。 2. 实现轮播图的思路 实现轮播图的基本思路如下: 创建一个容器来包裹图片。 在容器中插…

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