CSS3移动端vw+rem不依赖JS实现响应式布局的方法

yizhihongxing

下面是关于CSS3移动端vw+rem不依赖JS实现响应式布局的完整攻略:

什么是vw和rem?

  • “vw”是视口单位,是相对于视口宽度的单位,1vw等于视口宽度的1%
  • “rem”是相对单位,相对于根元素(即HTML元素)的字体大小,可根据具体情况自行设定

使用vw+rem实现响应式布局的步骤

1.设置HTML根元素的字体大小

具体字体大小需要根据设计稿来定,通常是16px或10px,假设我们这里取16px为例,在CSS里可以写成:

html {
  font-size: 16px;
}

2.设置设计稿尺寸与vw的换算比例

例如,设计稿宽度为750px,则可以将1vw换算为7.5px:

/* 1vw = 7.5px */
html {
  font-size: 16px;
}

@media screen and (max-width: 750px) {
  html {
    font-size: 6.25vw;
  }
}

3.使用rem单位进行布局

布局的时候,可以使用rem单位,并且根据设计稿中相对应版块的宽度来进行设定。例如:

.container {
  width: 20rem; /* 设计稿里宽度为200px的版块 */
}

在经过上面的设置之后,会发现,当屏幕宽度发生变化的时候,所设置的布局和字体大小也会自动进行调整。

示例说明

下面来看具体两个示例:

示例1:简单布局

看一个简单的页面布局,比如一个标题,一张图片和一段文字,这时候我们可以使用以下的CSS来进行设定:

html {
  font-size: 16px;
}

@media screen and (max-width: 750px) {
  html {
    font-size: 6.25vw;
  }
}

.container {
  width: 20rem; /* 设计稿里宽度为200px的版块 */
  margin: 0 auto;
}

img {
  width: 100%;
  height: auto;
}

.title {
  font-size: 1.5rem; /* 设计稿里19px */
  font-weight: bold;
  margin-bottom: 0.5rem; /* 设计稿里8px */
}

.text {
  font-size: 1.2rem; /* 设计稿里15px */
  line-height: 1.5;
}

在这个示例中,我们根据设计稿来设置了各种元素的宽度和字体大小,然后通过媒体查询来设置vw,以保证响应式布局。如果屏幕宽度小于750px,则重新设置html的字体大小为6.25vw。

示例2:使用flex进行布局

flex是CSS3提供的一种强大的布局方式,适用于复杂的页面布局。下面是一个使用flex的布局示例:

html {
  font-size: 16px;
}

@media screen and (max-width: 750px) {
  html {
    font-size: 6.25vw;
  }
}

.container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 48rem; /* 设计稿里480px */
  margin: 0 auto;
}

.logo {
  width: 15rem; /* 设计稿里宽度为150px */
}

.nav {
  flex: 1;
  padding-left: 2rem; /* 设计稿里20px */
}

.nav li {
  display: inline-block;
  margin-right: 1.5rem; /* 设计稿里15px */
}

.cta {
  font-size: 1.2rem; /* 设计稿里15px */
  padding: 0.5rem 1rem;
  border: 1px solid #fff;
  border-radius: 2rem;
}

在这个示例中,我们使用了CSS3的flex布局来设置导航栏和LOGO的布局,使得它们在屏幕宽度发生变化的时候,会自动进行调整。此外,我们也使用了vw和rem单位来设置各种元素的宽度和字体大小,在保证响应式布局的同时,也使得布局更具灵活性,更加适应不同大小的屏幕。

总体来说,使用vw+rem实现CSS3移动端的响应式布局,能够使得页面布局和字体大小在不同设备上自适应,并且不依赖于JS的帮助。以实现更好的用户体验和更高的设备兼容性。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS3移动端vw+rem不依赖JS实现响应式布局的方法 - Python技术站

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

相关文章

  • 纯css3制作煽动翅膀的蝴蝶的示例

    接下来我会详细讲解如何使用纯CSS3制作煽动翅膀的蝴蝶示例。 准备工作 在开始制作示例之前,我们需要准备以下素材: 蝴蝶的图片,保证图片分辨率清晰。 一些基本的HTML和CSS知识,对盒模型、定位、z-index等属性有一定的了解。 步骤 第一步: HTML结构的搭建 在HTML中定义一个div容器,作为蝴蝶的容器。并在这个容器中插入图片。具体代码如下: &…

    css 2023年6月10日
    00
  • vue 组件中使用 transition 和 transition-group实现过渡动画

    下面是详细讲解“vue 组件中使用 transition 和 transition-group实现过渡动画”的完整攻略: 1. Vue 中的过渡动画 Vue 提供了一套内置的过渡和动画系统,可以方便地在组件切换和元素增删时添加过渡效果。在组件中使用过渡动画需要使用两个组件:<transition> 和 <transition-group&g…

    css 2023年6月10日
    00
  • div+css与xhtml+css分别是什么意思?

    div+CSS 和 XHTML+CSS 都是 Web 前端开发中常用的技术,用于实现网页的布局和样式。下面将详细讲解这两种技术的含义和使用方法。 1. div+CSS 是什么意思? div+CSS 是一种基于 div 元素和 CSS 样式的网页布局技术。div 元素是 HTML 中的一个块级元素,可以用于划分网页的不同区域,然后使用 CSS 样式来控制这些区…

    css 2023年5月18日
    00
  • 修改CSS样式实现网页灰色(没有颜色只有浅色黑白)的几个方法整理

    下面我将详细讲解“修改CSS样式实现网页灰色(没有颜色只有浅色黑白)的几个方法整理”的完整攻略。 一、概述 将网页修改为灰色,也被称为“去色”或“黑白化”网页,这种效果通常被用于强调页面内容,从而提高信息传达效果和阅读体验。本攻略将针对实现网页灰色的几种方法做出详细的说明,并提供相关示例。 二、方法详解 1. 使用CSS3的filter CSS3中提供了一种…

    css 2023年6月9日
    00
  • 面试官常问的web前端问题大全

    Web前端面试官常问问题大全 Web前端是目前应用最广泛的技术领域之一,随着市场对前端人才的需求不断增长,前端开发岗位的竞争也愈发激烈。因此,在Web前端的面试中,常会被问到一些有关Web前端的基础概念、技术体系和前端开发实战等问题。以下是一些常被Web前端面试官问到的问题: 前端基础 1. HTML 和 XHTML 有什么区别? HTML和XHTML都是用…

    css 2023年6月9日
    00
  • Css样式–背景样式详解

    CSS样式–背景样式详解 背景颜色(background-color) 设置背景颜色的样式属性为 background-color,该属性的取值可以是颜色名称、十六进制颜色值、rgb/rgba颜色值等。例如: /* 设置背景颜色为红色 */ body { background-color: red; } /* 设置背景为半透明黑色 */ header { …

    css 2023年6月9日
    00
  • CSS3 3D位移translate效果实例介绍

    让我来为您详细讲解“CSS3 3D位移translate效果实例介绍”完整攻略。 简介 CSS3 3D位移translate效果是利用CSS3的transform属性实现的一种动画效果,可以在多维度上改变元素的位置,实现复杂的动画效果,比如折叠、旋转、滑动等。 基本用法 下面的示例演示了如何使用CSS3 3D位移translate效果,将一个div元素向右平…

    css 2023年6月10日
    00
  • CSS中的滑动门技术

    那么我们就来详细讲解一下“CSS中的滑动门技术”的攻略。 一、滑动门技术介绍 滑动门是 CSS 中常见的一种技术,用于制作具有拉伸自适应功能的按钮、导航菜单等等。 滑动门技术的实现原理是通过 CSS 的重叠背景技术,在按钮或菜单项上同时设置两个背景图片,一个用于左侧,一个用于右侧。同时还需设置一个中间区域用于填充按钮或菜单项的文本内容,以及设置一个额外的 &…

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