【三十天精通Vue 3】第二十四天 Vue3 移动端适配和响应式布局

news2024/11/22 19:08:55

请添加图片描述

✅创作者:陈书予
🎉个人主页:陈书予的个人主页
🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区
🌟专栏地址: 三十天精通 Vue 3

文章目录

    • 引言
    • 一、 移动端适配概述
      • 1.1 为什么需要移动端适配?
      • 1.2 移动端适配方案比较
      • 1.3 常用的移动端适配方案
    • 二、 响应式布局概述
      • 2.1 什么是响应式布局?
      • 2.2 响应式布局的优劣分析
    • 三、 使用vw实现移动端适配
      • 3.1 什么是vw?
      • 3.2 vw的优劣分析
      • 3.3 如何使用vw实现移动端适配?
    • 四、 使用rem实现移动端适配
      • 4.1 什么是rem?
      • 4.2 rem的优劣分析
      • 4.3 如何使用rem实现移动端适配?
    • 五、 使用媒体查询实现响应式布局
      • 5.1 什么是媒体查询?
      • 5.2 媒体查询的优劣分析
      • 5.3 如何使用媒体查询实现响应式布局?
    • 六、 使用Flexbox实现响应式布局
      • 6.1 什么是Flexbox?
      • 6.2 Flexbox的优劣分析
      • 6.3 如何使用Flexbox实现响应式布局?

引言

移动设备逐渐逐渐成为人们生活中不可或缺的一部分,越来越多的网站和应用程序都需要在移动设备上提供友好的用户体验。移动端适配是一种解决方案,能够使网站在不同尺寸的屏幕上呈现出较好的效果。而响应式布局是一种设计方法,旨在为不同的设备和屏幕尺寸提供最佳的显示效果。

本文将介绍移动端适配和响应式布局,并深入探讨vw、rem、媒体查询和Flexbox这四种实现这两种布局方式的解决方案。

一、 移动端适配概述

1.1 为什么需要移动端适配?

当前,移动设备已成为人们生活中的重要组成部分,人们使用移动设备进行网页浏览,购物,工作等各种活动,这使得移动端适配成为了开发Web应用程序的一项必要技能。网站的设计与布局应适应不同的移动设备,以提供最佳的用户体验。

1.2 移动端适配方案比较

常用的移动端适配方案有三种:固定宽度(像素)、百分比布局和基于设备特性的流动布局。

固定宽度(像素)和百分比布局适用于适配特定宽度的屏幕,但无法解决适配不同宽度的移动设备的问题。与此相比,采用基于设备特性的流动布局方案可以较好地解决这个问题。

1.3 常用的移动端适配方案

常用的移动端适配方案有固定宽度布局、百分比布局、流动布局、flex布局等,它们各有优缺点,下面将进行详细介绍。

二、 响应式布局概述

2.1 什么是响应式布局?

响应式布局是一种设计方法,旨在为不同设备和屏幕尺寸提供最佳的显示效果。通过使用媒体查询和流式网格设计方法,网站可以自适应不同的屏幕尺寸,并且相应地重新布局和设计页面,以提供最佳的用户体验。

2.2 响应式布局的优劣分析

响应式布局可以为用户提供更好的浏览体验,同时也方便开发人员对网站进行管理和维护,但是,响应式布局的开发难度较大,需要考虑不同屏幕尺寸、不同设备等多个方面的因素。此外,在设计阶段就必须制定好多个不同屏幕下的布局,这对设计工作量提出了更高的要求。

三、 使用vw实现移动端适配

3.1 什么是vw?

vw是视窗单位(Viewport Units)的缩写。1vw等于视口(Viewport)宽度的1/100。它能够使用户界面根据不同设备的屏幕宽度进行自适应,以适合特定的设备和屏幕宽度。

3.2 vw的优劣分析

优点:通过使用vw作为CSS的长度单位,可以为用户提供更好的屏幕适应性,不需要考虑不同屏幕尺寸,不用写响应式布局的代码,是一种非常方便和简单的解决方案。

缺点:某些设备在放大时可能会存在布局问题,同时vw适用于适应整个页面,但不适用于适应单个元素。

3.3 如何使用vw实现移动端适配?

使用vw可以快速轻松地实现移动端适配,下面是一个简单的示例:

.container {
   width: 100vw;
   height: 100vh;
}

该代码可以使容器适应整个页面,并始终填充整个屏幕。

四、 使用rem实现移动端适配

4.1 什么是rem?

rem是根元素(html标签)的字体大小的单位,例如,如果根字体大小为16px,1rem则相当于16px; 2rem相当于32px。

4.2 rem的优劣分析

优点:rem的使用可以快速轻松地实现移动端适配,而且能够更精确地控制元素的大小。

缺点:rem只适用于适应单个元素,不适用于适应整个页面。

4.3 如何使用rem实现移动端适配?

使用rem,需要在根元素(html标签)中设置字体大小,并通过rem作为长度单位来定义样式属性,下面是一个示例:

{
    font-size: 16px;
}
.container {
    width: 10rem;
    height: 5rem;
}

五、 使用媒体查询实现响应式布局

5.1 什么是媒体查询?

媒体查询是一种CSS3语法,可以根据设备屏幕尺寸和其他特定属性来应用不同的样式,以使网站在不同的设备和屏幕尺寸下产生合适的显示效果。

5.2 媒体查询的优劣分析

优点:适用性广,能够在所有设备上提供最佳的体验。

缺点:需要编写多个不同的CSS样式,增加了代码的复杂性,并且需要处理布局问题,使得设计和排版的任务繁重。

5.3 如何使用媒体查询实现响应式布局?

媒体查询的工作原理是在CSS样式表中添加@media规则,它是一种条件声明,以指定在哪些情况下使用某些CSS样式。媒体查询只会应用在符合其条件的设备上,下面是一个示例:

.container {
    width: 100%;
    height: 10rem;
}
@media screen and (min-width: 768px) {
    .container {
        width: 50%;
    }
}

该代码使用@media来定义不同的CSS样式,当设备的屏幕宽度大于或等于768px时,使用50%的宽度来显示容器。

六、 使用Flexbox实现响应式布局

6.1 什么是Flexbox?

Flexbox(弹性盒子)是一种新的布局模式,可以使容器内的子元素在不同屏幕尺寸和设备上自适应地排列和对齐,能够更好地处理多个元素的排列问题。

6.2 Flexbox的优劣分析

优点:Flexbox具有很强的适应性,能够应对不同的屏幕尺寸和设备,简化了响应式布局的开发,并提供了灵活的对齐方式。

缺点:Flexbox在适用性和浏览器兼容性方面存在一些问题,需要在使用的过程中注意兼容性问题。

6.3 如何使用Flexbox实现响应式布局?

使用Flexbox可以轻松实现响应式布局,下面是一个示例:

.container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
}
.item {
    flex-basis: calc(33.33% - 10px);
    margin-bottom: 20px;
}

该代码展示了如何使用Flexbox实现一个三等分的基本布局,容器采用了flex布局,子元素通过设置flex-basis来定义每一个元素的大小,并通过设置justify-content和align-items属性来使元素在容器内水平居中和垂直居中。同时,通过设置flex-wrap的属性值为wrap来保证子元素能够自适应地排列到容器的多个行中。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/482206.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

3.5 并行存储器

学习步骤: 如果我要学习并行存储器,我会采取以下几个步骤: 了解并行存储器的基本概念和原理。学习并行存储器的前提是要对存储器的基本原理有所了解,包括存储器的分类、工作原理、读写时序等。 学习并行存储器的特点和应用。并行…

Java每日一练(20230502)

目录 1. 二叉搜索树的最近公共祖先 🌟🌟 2. 随机分组问题 🌟 3. K 个一组翻转链表 🌟🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练…

Vue 框架入门介绍

前言 前端时间工作任务没有那么忙,在技术总监沟通中他认为我自己花点时间做技术扩展,由于项目中用到前端部分功能,框架用的是Vue,本身项目中和前端同时接触比较多,而且公司有现成的项目可以供我去练习,所以…

存储资源调优技术——SmartMigration智能数据迁移技术

目录 基本概念 工作原理 注意事项 基本概念 智能数据迁移技术是业务迁移的关键技术 在不中断主机业务的情况下,实现源LUN上的业务完整--业务相关的所有数据 迁移到目标LUN上 工作原理 业务数据同步 创建SmartMigration,源LUN和目标LUN之间建立Pair关系&a…

RabbitMq、Kafka、RocketMq整理

MQ的主要作用:异步提高性能、解耦提高扩展性、削峰。 一、常见中间件对比 Kafka、RocketMq和RabbitMq最大的区别就是:前两个是分布式存储。 1.1、ActiveMq 优点:1)完全支持jms规范的消息中间件 ,2)提供丰富的api, 3)多种集群构建模式。 缺点:)在高并发的场景下,性能可…

计算机视觉——day88 读论文:基于驾驶员注意视野的交通目标检测与识别

基于驾驶员注意视野的交通目标检测与识别 II. RELATED WORKSA. 通用对象检测B. 交通标志检测与识别C. 车辆检测D.行人检测E. 交通灯检测 III. PROPOSED METHODA. The RoadLAB DatasetB. 驾驶员注视定位C. 目标检测阶段模型A模型B D.数据扩充E.综合检测结果F.物体识别阶段 IV. 实…

【Git】Git(分布式项目管理工具)在Windows本地/命令行中的基本操作以及在gitee中的操作,使用命令行、window,进行提交,同步,克隆

介绍 这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。 一个人为什么要努力&a…

​【五一创作】基于mysql关系型实现分布式锁

看完该文预计用时:15分钟 看之前应具体的技术栈:springboot mysql nginx(了解即可) 目录 0.写在前面 1. 从减库存聊起 1.1. 环境准备 1.2. 简单实现减库存 1.3. 演示超卖现象 1.4. jvm锁问题演示 1.4.2. 原理 1.5. 多服务问…

Linux CentOS本地搭建Web站点,并实现公网访问

文章目录 前言1. 本地搭建web站点2. 测试局域网访问3. 公开本地web网站3.1 安装cpolar内网穿透3.2 创建http隧道,指向本地80端口3.3 配置后台服务 4. 配置固定二级子域名5. 测试使用固定二级子域名访问本地web站点 转载自cpolar文章:Linux CentOS本地搭建…

ChatGPT提示词工程(六):Expanding扩展

目录 一、说明二、安装环境三、扩展(Expanding)1. 自定义自动回复客户电子邮件2. 提醒模型使用客户电子邮件中的详细信息3. 参数 temperature 一、说明 这是吴恩达 《ChatGPT Prompt Engineering for Developers》 的课程笔记系列。 本文是第六讲的内容…

linux编写脚本之快速入门

前言 在进行Linux测试时编写脚本是必不可少的。最近经常使用Linux,感觉太频繁地敲击键盘有些累了,于是想到了Shell脚本。可以把太多的命令写成一个脚本,这样每次执行一遍 shell文件,就可以省去了敲击键盘的时间。于是在网上搜了一…

3.7 虚拟存储器

学习目标: 建议按照以下学习目标进行学习: 了解虚拟存储器的基本概念和原理。包括什么是虚拟存储器、虚拟地址和物理地址、虚拟内存、页面置换算法等。 了解虚拟存储器的实现方式。包括基于请求分页、请求分段和请求段页混合的虚拟存储器实现方式&…

前置操作:Kubernetes快速安装组件Kubectl Kubeadam Kubeinit

文章目录 配置K8S主从集群前置准备操作一:主节点操作 查看主机域名->编辑域名1.1 编辑HOST 从节点也做相应操作1.2 从节点操作 查看从节点102域名->编辑域名1.3 从节点操作 查看从节点103域名->编辑域名 二:安装自动填充,虚拟机默认…

对接ChatGPT开发对话机器人小程序

前言 ChatGPT已经非常火爆了,企业开始招聘ChatGPT工程师,可能对接ChatGPT接口进行企业级开发是程序员必备的技能了。本篇文章主要是基于ChatGPT开发接口进行对接,使用微信小程序制作一款自己的聊天机器人,通过这一案例你可以展开…

图神经网络:在KarateClub上动手实现图神经网络

文章说明: 1)参考资料:PYG官方文档。超链。 2)博主水平不高,如有错误还望批评指正。 3)我在百度网盘上传了这篇文章的jupyter notebook。超链。提取码8888。 文章目录 文献阅读:代码实操: 文献阅读: 参考文…

JavaWeb05(删除增加修改功能实现连接数据库)

目录 一.实现删除功能 1.1 url如何传参? xx.do?参数参数值&参数名参数值 1.2 servlet如何拿对应值? //根据参数名拿到对应的参数值 String str req.getParameter("参数名") 1.3 如何询问? οnclick"return con…

区位码-GB2312

01-09区为特殊符号 10-15区为用户自定义符号区(未编码) 16-55区为一级汉字,按拼音排序 56-87区为二级汉字,按部首/笔画排序 88-94区为用户自定义汉字区(未编码) 特殊符号 区号:01 各类符号 0 1 2 3 4 …

I/O多路转接——epoll服务器代码编写

目录 一、poll​ 二、epoll 1.epoll 2.epoll的函数接口 ①epoll_create ②epoll_ctl ③epoll_wait 3.操作原理 三、epoll服务器编写 1.日志打印 2.TCP服务器 3.Epoll ①雏形 ②InitEpollServer 与 RunServer ③HandlerEvent 四、Epoll的工作模式 1.LT模式与ET…

第二十一章 光源

光源是每个场景必不可少的部分,光源除了能够照亮场景之外,还可以产生阴影效果。 Unity中分为四种光源类型: 1. 方向光:Directional Light 用于模拟太阳光,方向光任何地方都能照射到。 2. 点光源:Point L…

JavaWeb-Servlet【内含思维导图】

目录 Servlet思维导图​编辑 1.什么是Servlet 2.Servelt概述 3.Servlet-Quickstart Your Project 3.1创建一个Web项目,导入Servlet依赖 3.1.1 选择Servlet导入依赖 3.1.2 导入Servlet依赖 3.2 在Web项目,定义类,实现Servlet接口…