前端基础(14):移动端布局(媒体查询及响应式 + rem)

前端响应式开发剖析 响应式设计是当今网页开发中至关重要的理念和技术手段,其核心目标是确保同一个网站能够在多种多样的设备上,无论是传统的PC端,还是日益普及的移动端(涵盖平板设备、手机的横屏以及竖屏等不同状态),都展现出高度的兼容性和良好的视觉效果。这意味着用户无论使用何种设备访问网站,都能获得流畅、舒适且一致的浏览体验,无需为不同设备的适配问题而困扰。例如,一个电商网站采用响应式设计后,用户在PC端可以清晰地看到丰富的商品分类、详细的产品介绍和高清的图片展示,方便进行细致的筛选和比较; 阅读详情

学习目标

  • 1、Responsive Web Design 响应式设计布局概念
  • 2、媒体查询的概念及应用
  • 3、meta标签的设置
  • 4、dpi、ppi介绍
  • 5、dpr (设备像素比)


一、Responsive Web Design 响应式设计布局概念
响应式设计(Responsive web design,通常缩写为 RWD)是一种网页设计的技术做法,该设计可使网站在多种设备上阅读和导航,同时减少缩放、平移和滚动。
1、Responsive设计特点
* 该网站必须建立灵活的网格基础
* 引用到网站的图片必须是可伸缩的
* 不同的显示风格,需要在media queries上写不同的样式
2.Responsive中的术语
在响应式设计中, 有一些其专有的术语, 而且理解这些术语对于帮助理解和学习响应式设计至关重要。
a. 流体网格

b. 弹性图片 img{width:100%}

c. 媒体查询

d. 屏幕分辨率

e. 主要断点



媒体查询可以让我们根据设备显示器的特性(如视口宽度、屏幕比例、设备方向:横向或纵向)为其设定CSS样式,媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成。媒体查询中可用于检测的媒体特性有 width 、 height 和 color (等)。使用媒体查询,可以在不改变页面内容的情况下,为特定的一些输出设备定制显示效果。

在这里插入图片描述



screen 或者all 是媒体类型里的一种,CSS2.1定义了10种媒体类型and 被称为关键字,其他关键字还包括 not(排除某种设备),only(限定某种设备) (min-width: 320px) 就是媒体特性,其被放置在一对圆括号中。

在这里插入图片描述






3.meta标签:
当Responsive设计页面在智能设备中进行测试的时候(比如说iPhone或Android),会发现,所有的媒体查询都不会生效—页面仍展示为普通的样式, 即一个全局缩小后的页面。这是因为许多智能手机都使用了一个比实际屏幕尺寸大很多的虚拟可视区域 viewport, 主要目的就是让页面在智能手机端阅读时不会因为实际可视区域而变形。为了让智能手机能根据媒体查询匹配对应样式,让页面在 智能手机中正常显示, 特意添加了一个特殊的meta标签。这个标签的主要作用就是让智能手机浏览网页时能进行优化,并且可以自定义界面可视区域的尺寸和缩放级别。
< meta name=" viewport" content="" />
在实际项目中,可以通过这个可视区域的meta标签进行重置, 告诉它使用设备的 宽度为视图的宽度, 也就是说, 禁止其默认的自适应页面的效果, 具体设置如下:
<meta name=“viewport” content=“width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no”>
width = device-width:宽度等于当前设备的宽度
initial-scale: 初始的缩放比例(默认设置为1.0)
minimum-scale:允许用户缩放到的最小比例(默认设置为1.0)
maximum-scale:允许用户缩放到的最大比例(默认设置为1.0)
user-scalable:用户是否可以手动缩放(默认设置为no,因为我们不希望用户放大缩小页面)

忽略将页面中的数字识别为电话号码<meta name=“format-detection” content=“telephone=no” />
忽略Android平台中对邮箱地址的识别 <meta name=“format-detection” content=“email=no” />
当网站添加到主屏幕快速启动方式,可隐藏地址栏,仅针对ios的safari
<meta name=“apple-mobile-web-app-capable” content=“yes” />
<!-- ios7.0版本以后,safari上已看不到效果 -->
将网站添加到主屏幕快速启动方式,仅针对ios的safari顶端状态条的样式
<meta name=“apple-mobile-web-app-status-bar-style” content=“black” />
<!-- 可选default、black、black-translucent -->



4. viewport
(viewport手机浏览器是把页面放在一个虚拟的"窗口")中,通常这个虚拟的"窗口"(viewport)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的其他部分。







1、屏幕尺寸:指的是屏幕对角线的长度
2、分辨率:是指宽度上和高度上最多能显示的物理像素点个数
3、点距:像素与像素之间的距离,点距和屏幕尺寸决定了分辨率大小
4.dpi、ppi介绍
DPI(dots per inch) 每英寸有多少点,印刷行业术语。
PPI(pixels per inch) PPI 即像素密度,表示每英寸所拥有的像素数量。即每英寸(1英寸=2.54厘米)聚集的像素点个数,
针对在电脑屏幕或手机屏幕上面来说DPI=PPI
比如说4.7英寸iphone 6的PPI是326。

5、css像素(也叫虚拟像素):指的是 CSS 样式代码中使用的逻辑像素,在 CSS 规范中,长度单位可以分为两类,绝对(absolute)单位以及相对(relative)单位。px 是一个相对单位,相对的是设备像素(device pixel)

6.dpr (设备像素比)
设备像素比DPR(devicePixelRatio)
设备像素比 = 物理像素 / 逻辑像素(px)
(1)设备像素/物理像素(physical pixel)
指设备能控制显示的最小物理单位,在操作系统的调度下,每一个设备像素都有自己的颜色值和亮度值。意指显示器上一个个的点。从屏幕在工厂生产出的那天起,它上面设备像素点就固定不变了,和屏幕尺寸大小有关,单位 pt。
如:iPhone6上就有750*1334个物理像素颗粒。
(2)设备独立像素/逻辑像素(density-independent pixel)
设备独立像素(也叫密度无关像素),可以认为是计算机坐标系统中得一个点,这个点代表一个可以由程序使用的虚拟像素(比如: css像素),有时我们也说成是逻辑像素。这个点是没有固定大小的,越小越清晰,然后由相关系统转换为物理像素。
(3)设备像素比(device pixel ratio )简称dpr
设备像素比(简称dpr)定义了物理像素和设备独立像素的对应关系。
设备像素比 = 设备像素(物理像素) / 设备独立像素(逻辑像素)。(在Retina屏的iphone上,DPR为2,1个css像素相当于2个物理像素)


如:iPhone6的dpr为2,物理像素750(x轴),则它的逻辑像素为375。
也就是说,1个逻辑像素,在x轴和y轴方向,需要2个物理像素来显示,如下图:

iPhone4 物理像素640 逻辑像素为320 dpr=2
iPhone3GS 物理像素320 逻辑像素为320 dpr=1


问题:为什么以iPhone6为标准的设计稿的尺寸是以750px宽度来设计的呢?
iPhone6的满屏宽度是375px,而iPhone6采用的视网膜屏的物理像素是满屏宽度的2倍,并且设计师所用的PS设计软件分辨率和像素关系是1:1。所以为了做出的清晰的页面,设计师一般给出750px的设计图,我们再根据需求对元素的尺寸设计和压缩。






7、 rem原理
1.em是相对于其父元素字体大小的单位

2.rem是什么?
rem(font size of the root element)是指相对于根元素的字体大小的单位。
3.为什么web app要使用rem?
实现强大的屏幕适配布局(淘宝,腾讯,网易等网站都是rem布局适配)rem 能等比例适配所有屏幕,根据变化html的字体大小来控制rem的大小,

需要转换的像素值 ÷ 父元素的font-size = em值
需要转换的像素值 ÷ 根元素的font-size = rem值

移动端响应式页面设计:掌握rem的实践技巧 htmltable {th, td {th {pre {简介:rem在移动端页面设计中是实现响应式设计的关键单位,本文将详细解析rem单位的使用方法,包括如何将设计图尺寸转换为rem,以及如何使用CSS的媒体查询实现不同屏幕尺寸下的自适应布局。本文还将讨论在使用rem时需要关注的浏览器兼容性问题,并提供解决方案。 阅读详情

相关推荐

【Ubuntu2404】Ubuntu24.04安装NVIDIA驱动/CUDA/cuDNN搭建神经网络训练环境

NVIDIA 驱动、CUDA和cuDNN是紧密相关但各自具有独特功能的技术,它们共同为图形处理单元(GPU)加速的应用程序提供了强大的支持。本文主要介绍如何安装 `NVIDIA` 驱动、CUDA及cuDNN,为后续神经网络训练提供支持。本文主要介绍Ubuntu24.04安装NVIDIA驱动、CUDA和cuDNN的流程。

王阿巴和王咕噜 1万+

CSS - 响应式布局(一)媒体查询

响应式布局、媒体查询

优快云 2170

别再为调试发愁!STM32CubeMX+FreeRTOS下,串口printf打印的保姆级配置指南(基于STM32F429)

本文详细介绍了在STM32CubeMX和FreeRTOS环境下实现稳定串口printf打印的配置方法。通过硬件选型、基础配置、线程安全的重定向实现以及高级调试技巧,帮助开发者解决多任务环境下的串口输出问题,提升调试效率。特别适用于STM32F429开发板用户。

weixin_42527401的博客 273

CSS初入门:响应式布局(删格布局+媒体查询)

媒体查询 介绍 媒体查询可以让我们根据设备显示器的特性(如视口宽度、屏幕比例、设备方向:横向或纵向)为其设定CSS样式,媒体查询由媒体类型和一个或多个检测媒体特性的条件表达式组成。媒体查询中可用于检测的媒体特性有 width 、 height 和 color (等)。使用媒体查询,可以在不改变页面内容的情况下,为特定的一些输出设备定制显示效果。 媒体查询与弹性和布局的使用情况: 媒体查询:当页面的结构发生变化的话最好使用媒体查询。 弹性盒:如果只是宽高的变化,尽量使用弹性盒。 使用方法 <!-- li

lalala_dxf的博客 1万+

Ubuntu1804 关于ubuntu18.04下载软件仓库信息失败,请检查网络连接 的解决方案

今天电脑在更换软件源的时候遇到了这个问题。出现了如上图所示的错误信息。 尝试了各家优快云的博客之后,发现方法大同小异,均无法解决。 方法大多都是要求更换软件源,如下所示: 打开“Ubuntu软件中心”-->点击“编辑”-->点击“软件源”-->在Ubuntu软件界面,“下载自”默认是“中国的服务器”,改为“主服务器”试试 2.打开更新管理器-》设置-》选择站点-》...

weixin_43729409的博客 1万+

《缠中说禅108课》5:市场无须分析,只要看和干

喜欢吹牛皮的,在市场里最常见,例如一种以分析市场、吹牛皮为生的职业,叫什么股评、专家的。此类人不过是市场上的寄生虫,真正的猎手只会观察、操作,用嘴是打不了豺狼的。 市场就是一个狩猎场,首先你要成为一个好猎手,而一个猎手,首先要习惯于无言。如果真有什么真理,那真理也是无言的。可言说的,都不过是人类思想的分泌物,臭气熏天。真不可言说了,就无不可言,言而无言,是乃真言。 一个好的猎手,可以没有嘴巴,但一定会有一双不为外物所动的眼睛,在这眼睛下,一切如幻化般透明。要不被外物所动,则首先要不被自我所迷惑,其实..

BenRen1314的博客 801

响应式布局-----媒体查询

第一次写博,在这里记录和分享一些自己学到的东西,最重要的还是看看大牛们的博客,学习学习经验,毕竟作为一名即将面临秋招的大三党,学习和积累已经是刻不容缓的事情了。         博主是一名学过C、C++、Java但都不怎么精通的技术渣,在大二暑假决定要走向前端这条不归路,在这期间自学了html+css、js、jquery和一些常用的PS切图技术,也有几个简单的项目开发经验,但看了各大公司的招聘要

zhagnqian_96的博客 491

从立创商城到Cadence:手把手教你实现封装格式的精准迁移

本文详细介绍了如何从立创商城获取元器件封装并精准迁移至Cadence Allegro的全流程。通过实战案例MAX31865ATP+T芯片,逐步解析Altium Designer格式转换、Cadence环境配置、封装导入验证等关键步骤,提供常见问题解决方案和效率提升技巧,帮助硬件工程师实现封装格式的高效迁移。

weixin_42519985的博客 216

前端自适应方案全面解析:打造多端适配的现代网页

前端自适应(Responsive & Adaptive Design)是指网页能够根据不同的屏幕尺寸、分辨率或设备类型,自动调整布局、字体、图片等元素的显示方式,以确保用户在任何设备上都能获得良好的浏览体验。在移动互联网时代,用户访问网页的设备多种多样,从桌面电脑到平板、手机,甚至折叠屏设备,屏幕尺寸和分辨率差异巨大。选择合适的方案,并结合 PostCSS、Sass 等工具,可以大幅提升开发效率和用户体验。(基于父元素字体大小)进行布局,结合 JavaScript 动态计算基准值。

程序员成长指北 887

168、OIS光学防抖系统设计:陀螺仪标定、音圈马达驱动与滚珠式/悬丝式结构选型

本文总结了OIS光学防抖系统设计中的关键问题与解决方案。作者通过实际案例指出,陀螺仪标定需重视零偏、灵敏度和温度补偿问题,音圈马达驱动需采用电流环控制并优化相位补偿。在机械结构选型方面,滚珠式适合大角度补偿但存在回差问题,悬丝式精度高但受重力影响,需根据应用场景选择。系统联调建议从开环到闭环逐步验证,注意陀螺仪与驱动频率匹配。最后给出5条经验建议:关注陀螺仪信噪比而非分辨率、预留标定余量、重视机械结构公差、配备专业调试工具、协调OIS与电子防抖的分工配合。文章强调OIS调试需针对不同模组特性进行反复测试与标

zzfmlxs的博客 46

基于STM32+OneNet设计的物联网智慧路灯(100)

本次设计的智能路灯采用STM32芯片和OneNet物联网平台进行连接,开发出支持太阳能充电锂电池供电、GPS定位上传位置信息、手动/自动控制路灯开关、环境光照调节、红外传感器检测周围人员、空气质量监测等多项功能。同时,当路灯发生异常情况时,系统可以自动发送邮件或短信到指定邮箱或电话。

7727

前端知识点总结—-响应式

前端知识点总结—-响应式 1.Responsive Web Page:响应式网页/自适应的网页2010年提出, 一个网页,会自动根据用户浏览设备不同,自动必变布局, 可以被PC/PAD/PHONE 正常浏览 2:响应式网页必备 (1)流式布局 float:left; (2)可以改变尺寸图片文字 ...

weixin_33766805的博客 362

Hermes Agent 安装部署完全指南

Hermes Agent安装部署指南提供了两种安装方式:一键脚本安装和手动分步安装。该AI助手支持多平台运行(Linux/macOS/WSL2),核心功能仅需Git作为前置依赖,其他依赖如Python、Node.js等均由安装脚本自动处理。文档详细介绍了系统要求、依赖管理、配置目录结构、环境变量设置以及10个手动安装步骤,并提供了功能模块化选项,用户可根据需求选择安装语音交互、浏览器自动化等扩展功能。安装完成后可通过hermes doctor命令验证环境,并通过交互式向导完成初始化配置。

简简单单Onlinezuozuo 2621

前端响应式布局原理与方案(详细版)

引言 响应式布局指的是同一页面在不同屏幕尺寸下有不同的布局。传统的开发方式是PC端开发一套,手机端再开发一套,而使用响应式布局只要开发一套就够,缺点就是CSS比较重。下面是博客网站对不同设备适配后的结果,分别是iPhone5/SE,iphone6/7/8,iphone 6/7/8 plus,ipad pro,dell台式宽屏(1440 X 900)。 响应式设计与自适应设计的区别:响应式开发...

大灰狼的小绵羊哥哥的博客 5万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

响应式布局之rem适配布局方案

rem适配布局有两种方案,一种是rem + 媒体查询 + Less技术,一种是使用 flexible.js。

HanyStill的博客 3292

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

rem结合媒体查询适配的vue项目(PC端和移动端共用一套代码)

一、前言 上周四接到了一个简单的纯前端网页的项目,我用了三天时间已经开发并且部署完毕(为了实现快速简易部署,使用了gitee pages进行部署,这篇文章记录我使用gitee pages部署的详细过程)。这个展示页要求在PC端和移动端双场景使用,但是由于页面简单,为了简单起见,我采用rem结合媒体查询适配开发一套代码来实现这个场景要求。 二、实现结合媒体查询的rem适配 2-1、rem布局 2-1-1、什么是rem rem是CSS3新增的一个相对单位(root em,根em),这个单位与em有什么区别呢?区

BigFamer的博客 5984

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

HTML+CSS进阶用法 (下)——移动端适配、媒体查询和响应式布局

欢迎来到移动端适配方案的介绍!随着移动互联网的快速发展,越来越多的用户通过手机和平板电脑访问网站。为了确保网站能够在各种设备上呈现出最佳的视觉效果和用户体验,我们需要采取有效的适配策略。本篇文章将带你了解几种常用的适配方法,包括宽度适配、等比适配、媒体查询以及使用 flexible.js 和 vw 布局。让我们一起探索如何构建响应式网页,使其能够完美适应不同屏幕尺寸!

qq_65034569的博客 2315

前端响应式布局

在pc端做个案例: 【500, 800】px一行一个div , 【801, 1000】第一行两个,第二行放1个, 【1001,无穷】一行三个div。响应式设计和自适应设计的区别:响应式开发一套界面,通过检测视口分辨率,针对不同客户端在客户端做代码处理,展现不同的布局和内容。自适应需要开发多套界面,通过检测视口分辨率,判断当前访问的设备是PC端、平板、手机,从而请求服务层返回不同的页面。不同尺寸设置不同css样式,移动用的多,pc不多。/* 不同的div设置不同颜色 *//* 设置不同尺寸的style */

weixin_42382758的博客 1898

移动端前端适配方案(总结) -- 面试重点

在网上搜了一下,很多面试都会被问到移动端适配方法的问题,最近看了一些文章,这里总结一下。 首先,谈一下目前为止出现的一些关于移动端适配的技术方案: (1)通过媒体查询的方式即CSS3的meida queries (2)以天猫首页为代表的 flex 弹性布局 (3)以淘宝首页为代表的 rem+viewport缩放 (4)rem 方式 1.Media Queri...

兔子juan的博客 7万+

移动端常见布局

数值越小,排列越靠前,默认为0。注意:和 z-index 不一样。(index控制的是叠罗汉的效果,order是左右上下).item {--要求当前网页使用IE浏览器最高版本的内核来渲染--> < meta http-equiv = " X-UA-Compatible " content = " IE=edge " > <!

2301_80480494的博客 2092

前端之PC及移动端页面适配方法

PC及移动端页面适配方法 设备屏幕有多种不同的分辨率,页面适配方案有如下几种: 1、全适配:流体布局+响应式布局 2、移动端适配: 流体布局+少量响应式 基于rem的布局 弹性盒模型 流体布局 流体布局,就是使用百分比来设置元素的宽度,元素的高度按实际高度写固定值,流体布局中,元素的边线无法用百分比,可以使用样式中的计算函数 calc() 来设置宽度,或者使用 box-sizing 属性将盒子设置...

tianduantoutiao的博客 1万+

前端响应式布局详解

前端响应式布局原理与方案(详细版) 引言 响应式布局指的是同一页面在不同屏幕尺寸下有不同的布局。传统的开发方式是PC端开发一套,手机端再开发一套,而使用响应式布局只要开发一套就够,缺点就是CSS比较重。下面是博客网站对不同设备适配后的结果,分别是iPhone5/SE,iphone6/7/8,iphone 6/7/8 plus,ipad pro,dell台式宽屏(1440 X 900)。 响应式设计...

weixin_46663768的博客 1367

移动WEB开发之rem适配布局

本文深入探讨Rem布局与Less预处理器的基础知识,涵盖Rem单位的使用、媒体查询、Less变量与嵌套、运算及编译技巧。通过实际案例,展示如何利用Rem和Less实现响应式布局,提升开发效率与代码可维护性。

m0_73941339的博客 1433

前端【技术方案】多端适配 -- 响应式开发(含 rem 详解)

px 绝对长度单位,不同客户端表现都相同,不具有响应式 em 相对长度单位,相对于父元素的 font-size 值,不同元素的父元素的尺寸各不相同,没有统一标准。 rem 相对长度单位,相对于根元素的 font-size 值,页面中的根元素只有一个(即 html 标签),标准统一,可用于响应式布局。 <!DOCTYPE html> <html lang="en"> <head> <meta cha

朝阳39的博客 1万+

场景化分析rem布局原理

vue项目适配rem布局 rem的原理将物理像素px分为一百份,每一份就是1rem,例如当你的手机是苹果6s,物理像素是375px,那么转化成rem就是37.5px。插件设置html根标签的字体属性font-size变为1rem,通过转换将css中的px转换成对应的rem。当屏幕发生大小缩放的时候,更改html下的font-size的大小,就能实现了其他标签的大小距离也随比例缩放,达到rem自适应布局。 1)安装依赖 npm i lib-flexible postcss-px2rem --save 2)删

花森酱JioJio 5867
上一篇: 前端基础(13):CSS3新增属性和选择器
下一篇: 前端基础(15):移动端布局vw + rem、flex布局
抽屉里面放枫叶(Breeze_qi)
博客等级 码龄8年 5粉丝 17原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值