关于响应式页面

从零开始手动搭建响应式H5页面 通过这篇文章,我们详细介绍了如何手动搭建一个响应式H5页面。从项目结构、HTML语义化、CSS响应式布局到JavaScript交互功能,我们采用了现代化的Web开发技术和最佳实践。这些知识点和技术不仅适用于小型项目,在大型项目中同样适用。响应式设计不仅仅是调整布局,更重要的是提供最佳的用户体验。在实际开发中,我们需要根据具体需求和场景,灵活运用这些技术。 阅读详情

作为一个无线部门的人,不懂移动设备是不行的。而作为一个无线的重构,不会写响应式页面更是不行得。而我,一个无线的重构,在我最近做的一个移动端的项目之前,的确是不会写响应式页面的,所以,严格来说,在这个项目之前,我是一个不合格的无线重构人。

而这个项目,却让我快速地掌握了响应式页面重构的一些方法。下面就是通过这个项目来总结我在响应式页面重构学到的东西。

众所周知,所谓响应式页面,就是能够用一套样式,使你的页面能够在不同分辨率的屏幕下都有很好的表现形式。响应式Web设计,这个概念是Ethan Marctte 在A List Apart 发表的一篇文章“Responsive Web Design”中援引响应式建筑而得名:

 响应式建筑(responsive architecture),物理空间应该可以根据存在于其中的人的情况进行相应。

根据我所阅读过一些文章及资料,我总结出响应式页面的几个关键组成部分:

1、页面头部的meta说明,可以通过viewport meta标签去让你的html页面的的宽度能根据设备分辨率让浏览器的可视宽度来适应,也可以在这里设置页面的缩放比例等等,这样在成比例的分辨率设备下,就可以更简单地实现响应式。

 
  1. <meta name="viewport" content="width=device-width, initial-scale=1.0"> 

2、流体布局(fluid grid),所谓的流体布局,其实就是在你pc端实现的页面基础上,将一些元素的宽高由原来的固定多少像素(px)调整为百分比(%)或字体比例(em)(或布局方面的margin、padding、left、top等以px为单位的值),这也是当前实现响应式布局的两种主要实现方法。

第一种用百分比(%),就是以该元素的父容器的宽高为100%,其他元素的宽高相对于其父容器的比例,只要将具体的像素值相对于他的父容器的一个百分比折算即可。当然这种方法的换算有点复杂,因为很多相对的宽高折算的百分比系数是带小数的,所以这时候可能要你有足够的耐心才能实现。

在Ethan Marctte的Responsive Web Design这篇文章中给出的一个demo中,我们可以看到他的实际代码里:

 
  1. @media screen and (max-width: 400px) { 
  2. .figure, 
  3. li#f-mycroft { 
  4. margin-right: 3.317535545023696682%; /* 21px / 633px */ 
  5. width: 48.341232227488151658%; /* 306px / 633px */ } 

第二种方法是用字号比例(em)去实现,其实方法是跟上面一样的,只不过我们将%换成了em,这种方法就是某元素具体的宽高(px)在当前基准字号(font-size)下折算出多少个em。eg: 一个在480分辨率下宽高为64px*64px的元素,其父容器的字号(font-size)为20px,那么它折算成em为单位就是3.2em*3.2em。当其父容器字号基准根据不同的分辨率变化的时候,该元素的宽高也能根据这个字号基准成比例的缩放,就能实现响应式变化。

从上面的两张实例图我们可以看到,同一个元素,宽高为3.2em*3.2em,在360px分辨率下,因为基准字号为15px,故解析出来的实际尺寸为48px*48px,而在480px分辨率下,基准字号为20px,故实际的尺寸为64px*64px。

3、流体图片(liquid image),在我所了解的很多资料中,对图片处理这块,如果要使图片能根据分辨率来适应,而且还不失真,好像挺困难的。但其实我们不用考虑的那么复杂,我们要做的只是让图片能根据不同分辨率自适应罢了,我们不管图片会不会因为被拉伸而失真,因为真的遇到这样的情况,我们可以考虑在不同分辨率下使用不同的图片,这样就简单多了。所以让图片尺寸自适应,我们只要不给图片设定具体的宽高尺寸,只要在样式中给该图片一个width:100%,这样图片就能根据它父容器的尺寸自动调整了。

4、媒体查询(media query),这个也是响应式页面的一个关键技术,根据不同的分辨率去调整一些不同的样式。

 
  1. @media screen and (max-device-width: 480px) { 
  2. .column { 
  3. float:none; 
  4. } 
  5. } 

通过上面的这样媒体查询结构,我们可以设定在不同分辨率下选用不同的样式来调整响应式页面。像前面第二点流体布局上,我们使用百分比或字号比例去实现流体布局的时候,第一种方法是可以不用媒体查询直接实现流体布局的,就是元素的宽高能自适应不同分辨率屏幕。

但第二种方法用字号比例(em)去实现流体布局的时候,我们就必须要结合媒体查询了,因为我们的字号比例是根据基准字号来实现的,就是说在基准字号一定的情况下,该元素的大小就是固定的,而我们要实现该元素尺寸自适应,就只能通过调整基准字号来实现了。通过媒体查询,我们可以让在基准字号font-size在不同分辨率下不一样,这样其子元素相对于该字号的比例em算出来的像素px就不一样了,这样就能实现响应式了。

所以我们兼容不同的分辨率的时候,可以先在某个分辨率下,实现完美的重构,然后将所有元素具体的尺寸(px)折算为em(根据父容器的font-size),然后再通过媒体查询,调整不同分辨率下的基准字号font-size就能实现具体的响应式了。

当然媒体查询的功能是根据不同的分辨率适配不同的样式,我们可以通过上面的做法是实现流体布局,还可以通过媒体查询来细调具体的页面在不同分辨率下的不同表现形式。

在我具体的项目过程中,采用媒体查询主要是调整不同分辨率下的基准字号的大小,具体如下面的代码所示:

 
  1. body,section,button,h1,p,.layer,.downall_btn,.introduce,.playlist,.recom_picbox{font-size:20px;} 
  2. /* for 800 px width screen */ 
  3. @media only screen and (max-device-width:800px),only screen and (max-width:800px){ 
  4. body,section,button,h1,p,.layer,.downall_btn,.introduce,.playlist,.recom_picbox{font-size:33.34px;} 
  5. } 
  6. /* for 720 px width screen */ 
  7. @media only screen and (max-device-width:720px),only screen and (max-width:720px){ 
  8. body,section,button,h1,p,.layer,.downall_btn,.introduce,.playlist,.recom_picbox{font-size:30px;} 
  9. } 

前面设置通用字号为20px,当分辨率超过我媒体查询到的最大屏幕宽度的时候就适配该基准字号,下面分别通过媒体查询为分辨率为800px和720px的设备详细调整基准字号,(当然在这里你可以增加更多的样式去调整不同分辨率下的具体表现)使页面在两个分辨率下都能有比较好的表现。可以发现,在800px的分辨率设备中,我的基准字号设置为33.34px,在720px的分辨率设备下的基准字号为30px。

原文链接:http://cued.xunlei.com/log057

为什么在800px分辨率下基准字号就为33.34px,在720px分辨率下基准字号为30px呢,这是因为我是先以480px分辨率下基准字号为20px去实现的,那么在800px或720px下的基准字号就根据设备分辨率的比例去算出。 这里只给出两个分辨率的例子,其他不同分辨率下的实现方法一样。

通过上面的几点关键技术,我们就可以实现具体的响应式页面了。看完这篇文章,是不是觉得响应式页面其实也没有想象中那么难呢?那么,有空自己去试试吧,只有自己动手实现后才能真正理解其中的奥秘哦!!!

构建响应式注册页面的完整指南 本文深入解析了如何创建一个功能齐全的响应式注册页面。通过HTML和CSS的结合使用,展示了表单元素的布局和样式设计,以及交互效果的实现。文章通过实例代码,讲解了表单输入和按钮的样式变化,以及如何通过链接提供进一步的学习资源。 阅读详情

相关推荐

从零配置华为S5720交换机VLAN:Web界面与命令行双模式详解(附拓扑图)

本文详细解析华为S5720交换机VLAN配置的全过程,涵盖Web界面与命令行(CLI)双模式操作指南。从基础环境准备到多交换机环境配置同步,特别针对S5720-52X系列交换机的VLANif接口、端口分配策略及交换机堆叠技术进行深入讲解,并附实用拓扑图与配置示例,助力企业网络管理员高效完成VLAN部署。

happy2的博客 1367

响应式布局的几种思路

响应式布局是什么,为什么?最简单的方法(固定内容区宽度)同比例缩放(rem)rem 简介 是什么,为什么? 电脑显示器有很多种尺寸,常见的有,1366px(宽度)、1980px(宽度),高级点,还有 2k 屏、4k 屏、5k 屏。如果再考虑平板和手机的话,就更多了。 远古时期,大多数网站是不会考虑这个问题的,一般只会对特别流行的一个尺寸进行设计。这时候,屏幕特别小,或者特别大时,看着就很不舒服。 ...

大概关于 7787

【YOLO 系列】基于YOLO V8的智能车载交通标志识别系统【python源码+Pyqt5界面+数据集+训练代码】

本文详细介绍了基于YOLO V8构建智能车载交通标志识别系统的完整流程。从环境搭建、数据集准备、模型训练到PyQt5图形界面开发,提供了Python源码和实战代码,帮助开发者快速实现高精度、实时的交通标志检测应用,提升驾驶辅助系统的开发效率。

wdx012345的博客 966

如何实现响应式网页设计?

响应式网页设计是现代前端开发不可或缺的一部分,它确保了网站在各种设备上的可访问性和可用性。通过掌握上述技术和技巧,你可以构建出既美观又实用的跨平台网站,为用户提供优秀的浏览体验。记住,响应式设计不仅仅是关于布局的调整,更是关于内容和用户体验的优化。在实践中不断迭代和改进,你的网站将能够适应未来可能出现的任何新设备和屏幕尺寸。欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。DTcode7的博客首页。

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 1424

Vue集成飞书前端JSSDK

文章目录前言<1>飞书前端JSSDK<2>使用步骤1.将JSSDK引入到VUE2.读入数据总结 前言 公司需要使用飞书软件,所以转战飞书开发,也是对新知识的探索与研究,飞书SDK也一直都在更新,路虽远,行必达。 <1>飞书前端JSSDK 1、官网地址:https://open.feishu.cn/document/uYjL24iN/uITO4IjLykDOy4iM5gjM 2、当前使用的飞书前端JSSDk的版本:1.5.4 <!-- 在html文档中 --&gt

A 1万+

反光柱定位算法实战05:Cartographer Landmark融合定位——从原理到实战

本文介绍了CartographerLandmark融合定位方案,该方案将反光柱作为Landmark节点直接融入Cartographer后端优化框架,避免了传统双系统切换导致的位姿跳变问题。文章详细阐述了Landmark的核心原理、数据发布格式(包括ID、坐标、权重等关键字段)以及两种工作模式(建图模式和导航模式)。特别指出组合反光柱作为Landmark可提供方向参考,有效解决镜像歧义问题。该方案通过统一优化框架实现稳定定位,尤其适用于缺乏自然特征的环境,但存在ID匹配不稳定等局限性。整体而言,Cartogr

Studying…… 423

html5重构页面,响应式web页面重构技术关键点_蓝戒的博客

响应式Web设计,这个概念是Ethan Marctte 在A List Apart 发表的一篇文章“Responsive Web Design”中援引响应式建筑而得名:响应式建筑(responsive architecture),物理空间应该可以根据存在于其中的人的情况进行相应。为什么一定要为每个用户群各自打造一套设计和开发方案?Web设计应该做到根据不同设备环境自动响应及调整。当然响应式Web设...

weixin_35034072的博客 408

YOLO26 终极蒸馏指南:从入门到 SOTA (The Ultimate Distillation Guide)

《YOLO26 蒸馏技术指南》深入解析了知识蒸馏在目标检测中的应用,提出五大蒸馏范式:响应蒸馏(学习最终输出)、特征蒸馏(模仿中间特征)、关系蒸馏(捕捉通道关联)、CWD(通道语义对齐)和FGD(前景背景分离)。实验表明,"Response KD + CWD + FGD"组合效果最佳,使YOLO26n在0.5ms推理速度下达到0.956 mAP50,甚至超越教师模型。指南提供模块化代码实现和超参数调优建议,强调蒸馏能平衡模型精度与效率,是轻量化部署的有效方案。

weixin_51988935的博客 717

什么是响应式设计?响应式设计的基本原理是什么?如何做?

响应式网站设计(Responsive Web design)是一种网络页面设计布局,页面的设计与开发应当根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行相应的响应和调整 描述响应式界面最著名的一句话就是“Content is like water” 大白话便是“如果将屏幕看作容器,那么内容就像水一样”

常来常往,共同成长 3181

基于 YOLOv26 的陶瓷产品缺陷检测系统:智能视觉质检方案

本文提出了一种基于YOLOv26深度学习模型的陶瓷产品智能缺陷检测系统。该系统针对陶瓷生产中的裂纹、气泡、釉面缺陷等8类常见质量问题,采用YOLOv26目标检测算法实现高精度自动化检测。系统架构包含数据采集、预处理、YOLOv26检测和后处理四个模块,具有多类别分类、实时推理和强鲁棒性等技术优势。文章详细介绍了数据预处理与增强方法,并提供了Python代码实现示例。该方案可显著提升陶瓷产品质量检测效率,替代传统人工检测方式,为陶瓷制造业提供智能化质检解决方案。

一键难忘的博客 786

【Unity-UGUI控件全面解析】| Layout自动布局组件详解

UGUI中有个自动布局组件Auto Layout,主要包含下面几个模块(点击可进入官方文档下查看描述): 自动布局 布局元素 (Layout Element) 水平布局组 (Horizontal Layout Group) 垂直布局组 (Vertical Layout Group) 网格布局组 (Grid Layout Group) 内容大小适配器 (Content Size Fitter) 自动布局系统 基于布局元素和布局控制器的概念。一个布局元素是具有矩形变换以及其他可选组件的游戏对象。布局元素对自身

努力前行,总会成为自己心中的那道光 2万+

响应式页面布局

** CSS3 响应式页面布局 .       今天给到大家介绍的是我们网页中经常用到的一种布局 “响应式布局”,那是响应式布局呢? 百度百科给出的作答是:“响应式布局是Ethan Marcotte在2010年5月份提出的一个概念,简而言之,就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念是为解决移动互联网浏览而...

Mr_xiong_的博客 1269

软件测试高频面试题 2026 最新整理(功能 + 自动化)

本文系统整理了2026年软件测试面试高频题目及参考答案,涵盖功能测试、自动化测试及新兴热点领域。功能测试部分包含测试基础概念、用例设计方法、缺陷管理流程等10个必背题;自动化测试部分详细解析工具选择、元素定位、框架搭建等10个热门考点;新增章节聚焦AI测试、安全测试、性能指标等5个前沿话题。参考答案均采用结构化表述,包含定义、区别、适用场景等关键要素,并强调结合项目经验作答。文末提供2026版面试技巧,建议采用"结论-分点-总结"的回答逻辑,重点展现问题解决能力和技术前瞻性。

SmallBull的博客 1958

bootstrap响应式前端页面

技术:HTML+CSS+JS+bootstrap 概述 这套代码响应式前端页面基本写完了,适合初学前端的同学,里面主要运用了HTML+CSS布局和动画,js逻辑较少,页面都是静态,未接入接口。响应式借助的是bootstrap这个库。 详细 代码下载:http://www.demodashi.com/demo/14991.html bo...

weixin_34290352的博客 1503

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

ssm框架搭建

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

搭建一个H5的页面,做到响应式

响应式设计是一种通过灵活的布局、图片和 CSS 媒体查询,使网页能够自动适应不同屏幕尺寸和设备的设计方法。

haosai12345的博客 1220

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

如何进行页面的响应式设计?

如何进行页面的响应式设计?

商务合作欢迎私信我 1万+

css响应式页面实现

响应式页面概念部分1.响应式页面的由来在很久很久以前,我们做的网页只是为了PC端的观看、使用,直到2000年,2.5G手机的出现,人们可以通过手机来访问网络,使得服务商们纷纷做了另一套网页为手机访问服务,这个情况一直持续到2009年,3G智能手机的出现,手机可以访问PC端页面,只是对PC端页面进行了压缩,接着IOS提出了viewport(视口)的概念,才得以改进,大型网页可以不经缩放直接显示在手机—

ajhongshaorou的博客 9647

响应式页面

同一套静态页面代码,在不同的设备中展现出不同的效果,并且可以自适应

lv_suri的博客 1118

web响应式页面是啥要注意啥

测试和优化:响应式网页需要进行测试和优化,以确保在不同设备和屏幕尺寸下都能够获得良好的浏览体验。响应式页面的源码通常涉及到HTML、CSS和JavaScript的组合使用,以实现不同屏幕尺寸下的自适应布局和样式。通过遵循这些注意事项,可以设计出具有优秀用户体验的Web响应式页面,使网站在各种设备和屏幕尺寸上都能够呈现出最佳的视觉效果和交互体验。内容优先级:在屏幕空间有限的情况下,应确保最重要的内容能够首先显示,而其他次要内容则可以通过折叠、懒加载等方式进行展示。/* 在小屏幕下,每个box占满整行 */

codedadi的博客 583

做个响应式登陆页面

首先做出来的效果图如图所示: 每次做一个页面,我们首先要搞懂的就是它一共分为几个部分,可以由哪几个盒子来组成,如下图: 相关的 html 部分如下所示: <body> <div class="big-box"> <div class="small-box"> <div class="box-1"></div> <!--左边的图片部分--> <.

dhxb45678的博客 2234

响应式页面的多种处理方案

每个适配方案都有其对应的优缺点,可以根据需求使用不同的方案,甚至可以组合各个方案。

好好学习,天天向上 550
上一篇: Eclipse Java注释模板设置详解
下一篇: Java初学者的30个常见问题
轻鸿飘羽
博客等级 码龄16年 124粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值