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日

相关文章

  • 深入解析动态加载css的实现方法

    深入解析动态加载CSS的实现方法需要以下步骤: 1. 创建动态插入CSS的函数 我们可以通过JS动态创建 标签,并将其插入到文档头部,从而实现CSS的动态加载。下面是一个实现动态插入CSS的函数: function dynamicLoadCss(cssUrl) { const link = document.createElement(‘link’); li…

    css 2023年6月9日
    00
  • 微信小程序实现tabbar凹凸圆选中动画效果实例

    实现微信小程序的tabbar凹凸圆选中动画效果,可以分为以下几个步骤: 步骤1:准备好tabbar图标资源 在实现tabbar凹凸圆选中动画效果之前,需要准备好凹凸圆图标资源。可以使用Sketch等设计工具,画出带有选中和未选中状态的凹凸圆图标,并按照微信小程序要求的尺寸进行导出。 步骤2:创建tabbar页面 在小程序根目录下,创建一个tabbar页面。使…

    css 2023年6月9日
    00
  • 好的 CSS 命名规范可以节约 Debug 时间

    好的 CSS 命名规范可以让团队开发更加协调高效,并且在后期维护和扩展时能够得到更好的体验,从而减少 Debug 时间。下面是一些制定好的 CSS 命名规范,值得团队借鉴和使用: 1. BEM 命名规范 BEM 命名规范是一种结构化的、可持续的 CSS 命名方法,它的名字来源于块(Block)、元素(Element)、修饰符(Modifier)的首字母缩写。…

    css 2023年6月11日
    00
  • 纯CSS实现鼠标悬停显示图片效果的实例分享

    下面是“纯CSS实现鼠标悬停显示图片效果的实例分享”的完整攻略: 1.需求分析 我们需要实现当鼠标悬停在某个元素上时,显示相关的图片。 2.准备工作 首先我们需要准备好一些图片资源,把它们准备好。假设我们有以下三张图片:apple.jpg、banana.jpg、cherry.jpg。 3.实现过程 一个比较简单的实现方式是通过伪类:hover来实现。我们可以…

    css 2023年6月10日
    00
  • css3实现的多级渐变下拉菜单导航效果代码

    下面是关于“CSS3实现的多级渐变下拉菜单导航效果”的完整攻略。 简述 所谓“多级渐变下拉菜单导航效果”,是指导航栏具有多层级别(多级导航菜单),并且在展开时,会出现渐变效果。这样的效果能够让网站视觉效果更加优美,同时也方便用户查看导航项。 前置知识 在学习CSS3实现多级渐变下拉菜单导航之前,您需要掌握以下知识: HTML和CSS基础 网页布局 基本的CS…

    css 2023年6月11日
    00
  • 解决html-jquery/js引用外部图片时遇到看不了或出现403的问题

    HTML页面中使用jQuery或JavaScript引用外部图片时可能会出现无法加载图片或403错误的问题,这可能是由于以下原因所导致的: 图片路径不正确 图片链接被防盗链所限制 以下是解决此类问题的攻略: 确认图片路径是否正确 要使用外部图片,必须确定图片的路径是正确的。完整的图片路径应包括图片名称和扩展名,如“http://www.example.com…

    css 2023年6月9日
    00
  • CSS技巧之圆角背景与三角形实现方法

    关于“CSS技巧之圆角背景与三角形实现方法”的完整攻略,我将从以下几个方面进行详细讲解: 圆角背景的实现方法 三角形的实现方法 示例说明 1. 圆角背景的实现方法 1.1 border-radius属性 CSS3中提供了border-radius属性,可以非常简单的实现圆角背景效果。border-radius属性有四个参数,分别对应左上角、右上角、右下角和左…

    css 2023年6月9日
    00
  • css教程:选择合适的、有意义的元素描述内容

    选择合适的、有意义的元素描述内容是CSS在前端开发中的重要指导原则之一。简单来说,就是在HTML代码中选择合适的HTML元素,并使用CSS对其进行样式修饰,从而让页面结构更加清晰、易读、易维护。下面是详细的攻略: 1. 选择合适的HTML元素 在HTML中,我们可以利用各种标签来描述网页的结构和内容,如 、 、 、 等。选择合适的HTML元素可以提高页面的可…

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