如何利用vw+rem进行移动端布局

yizhihongxing

利用vw+rem进行移动端布局,可以实现网页在不同设备上的自适应布局,使得页面在任何尺寸的屏幕上都能够完美展示。下面是利用vw+rem进行移动端布局的详细攻略:

1. 使用视窗单位

视窗单位有两种:vw 和 vh。它们的意思是 viewport width 和 viewport height。1vw 等于视窗宽度的 1%,1vh 等于视窗高度的 1%。在这里我们只考虑 vw,因为使用 vw 可以更好的实现移动端布局。

html {
  font-size: 1vw;
}

通过将 html 的 font-size 设置为 1vw,我们使得 1 个视窗宽度被均分成了 100 个部分。比如,如果我们现在将 html 的 font-size 设置为16px,那么 1vw 就等于 16 * 1% = 0.16px。

2. 将rem作为计算单位

CSS 中的 absolute 单位,比如 px,其大小与设备有关,而 rem 则是相对于根元素 html 的 font-size 而言的。由于 html 的 font-size 已被设置成 1vw,因此我们可以将 rem 作为相对长度单位,从而实现对移动端设备的适配。

/* 设计稿宽度为 750px */
@media screen and (max-width: 750px) {
  html {
    font-size: 50px;
  }
}

在上述代码中,我们将 html 的 font-size 设置成 50px,从而使得 1vw = 0.5rem。接下来,我们可以根据设计稿的宽度,选择适当的 font-size,从而实现对移动设备的布局。

示例一

假设我们的设计稿宽度为 750px,我们可以将 font-size 设置为 50px,这样我们可以将设计稿上的尺寸直接除以 50 得到对应的 rem 值。

/* 设计稿尺寸为 150px * 150px */
/* 在样式表中可以这样写 */
.box {
  width: 3rem;
  height: 3rem;
}

在上述代码中,我们将 .box 的宽度和高度都设置为 3rem,这样就可以完美展示在设计稿的大小中。如果在不同尺寸的设备上,html 的 font-size 发生改变,那么我们所设置的尺寸也会跟着改变。

示例二

在实际应用中,我们通常需要对不同尺寸的设备做出不同的布局,下面是一个简单示例,假设我们要实现一个简单的排版,我们想在 iPad 竖屏时,将一排放 3 个 卡片。而在 iPhone4s 竖屏时,我们想将卡片排序成一列。

/* 设计稿宽度为 750px */
@media screen and (max-width: 750px) {
  html {
    font-size: 50px;
  }
  /* 在 iPhone4s 上将卡片排成一列 */
  @media screen and (max-width: 320px) {
    .card {
      width: 280px;
      margin: 15px auto;
    }
  }
}
/* 在 iPad 上将卡片排成3列 */
@media screen and (min-width: 750px) {
  html {
    font-size: 16px;
  }
  .card {
    width: 30%;
    margin: 15px;
    float: left;
    display: inline-block;
  }
}

在上述代码中,我们首先设置了 iPad 的尺寸,将 font-size 设置成 16px,这样可以使得 1vw = 0.16px = 0.01rem。在设置 .card 的宽度时,我们将其设置成 30%,这样就可以让 3 个卡片在 iPad 上平分一排,并使用 float 和 inline-block 属性实现排列。接下来,在 iPhone4s 的尺寸中,我们将 font-size 再次修改为 50px,从而使得 1vw = 0.5rem。然后,我们可以将 .card 的宽度设置为 280px,从而实现一列排列。此外,为了实现居中排列,我们可以设置 margin 为 auto。

通过以上两个简单示例,我们可以看到,利用 vw+rem 进行移动端布局可以极大的简化页面的开发。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何利用vw+rem进行移动端布局 - Python技术站

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

相关文章

  • CSS3实现DIV圆角效果完整代码

    下面我将详细讲解“CSS3实现DIV圆角效果完整代码”的完整攻略。 一、什么是DIV圆角效果? DIV圆角效果是指将DIV元素的角落部分变为圆形或半圆形的效果。在网页设计中,DIV圆角效果常常被用作页面的美化和排版,能够使网页看起来更加优雅和舒适。 二、CSS3实现DIV圆角效果的完整代码 在CSS3中,我们可以使用border-radius属性来实现DIV…

    css 2023年6月10日
    00
  • JavaScript实现div的鼠标拖拽效果

    对于 “JavaScript实现div的鼠标拖拽效果” 这个问题,我将分为以下几个部分来进行详细讲解: 实现思路 相关API及代码示例 注意事项和遇到的问题及解决方法 1. 实现思路 实现鼠标拖拽的原理是:当鼠标在可拖拽元素上按下时,我们需要记录下相应的鼠标位置以及元素的位置信息,并在后续鼠标移动时进行计算,以实现元素跟随鼠标移动的效果,然后在鼠标抬起时,停…

    css 2023年6月10日
    00
  • 在sql Server自定义一个用户定义星期函数

    在SQL Server中自定义一个用户定义星期函数,可以使用以下步骤: 1. 创建一个新的SQL Server项目 在SQL Server Management Studio中,选择“文件”->“新建”->“项目”->“SQL Server”->“SQL Server Database项目”。 2. 添加新的用户定义函数 在项目中,右…

    css 2023年6月9日
    00
  • 详解vue+css3做交互特效的方法

    下面我就来详细讲解一下“详解vue+css3做交互特效的方法”的完整攻略。 1. 首先安装Vue 要使用Vue进行开发,我们需要先安装Vue。可以通过npm或CDN来安装,这里我使用npm的方式来进行安装: npm install vue Vue文档中也提供了CDN的方式来安装Vue,可根据自己的需要选择。 2. 创建Vue实例 安装好Vue之后,我们就可以…

    css 2023年6月10日
    00
  • js和jQuery设置Opacity半透明 兼容IE6

    下面我来详细讲解如何使用JavaScript和jQuery设置Opacity半透明并兼容IE6的完整攻略。 使用JavaScript设置Opacity半透明并兼容IE6 通过设置元素的样式属性filter和opacity,我们可以使用JavaScript实现半透明效果并兼容IE6。以下是一段示例代码: var element = document.getEl…

    css 2023年6月9日
    00
  • 基于wordpress主题制作的具体实现步骤

    下面我来详细讲解基于WordPress主题制作的具体实现步骤的完整攻略。 一、准备工作 在进行WordPress主题制作之前,需要准备以下工作: 安装并配置WordPress环境; 选择自己喜欢的IDE,例如Sublime Text、VS Code等; 掌握HTML、CSS、PHP等基础知识。 二、创建一个新的WordPress主题 我们可以利用现成的主题模…

    css 2023年6月9日
    00
  • 网页字体在Frontpage2000制作网页中的讲解

    在Frontpage2000制作网页中,网页字体的选择是非常重要的一步。下面,我将为大家提供详细的攻略,以帮助大家更好的选择和应用网页字体。 选择字体的基本原则 在选择网页字体时,我们需要遵循以下原则: 可读性:字体必须易于阅读,避免繁琐和过于花哨的字体; 兼容性:需要选择常见的字体,以便在不同的浏览器和操作系统上都能正常显示; 美学:字体也应该与网站设计相…

    css 2023年6月10日
    00
  • 分享一下如何更专业的使用Chrome开发者工具

    当我们需要进行网页调试,或对网站性能进行优化时,Chrome开发者工具是非常有用的利器。以下是如何更专业地使用Chrome开发者工具的攻略: 1. 使用命令行快速调用DevTools Chrome提供了命令行参数来方便开发人员使用DevTools控制台进行调试。可以通过以下命令来打开Chrome浏览器的DevTools控制台: Windows 系统:chro…

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