热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【原创】响应式网页设计基础【从零开始】

2019独角兽企业重金招聘Python工程师标准响应式网页设计基础【从零开始】如今的互联网事业突飞猛进,可谓一日千里。响应式网页设计凭借其能为开发者提高开发效率

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

响应式网页设计基础【从零开始】

如今的互联网事业突飞猛进,可谓一日千里。响应式网页设计凭借其能为开发者提高开发效率,降低维护成本,提升用户体验等突出优势更是为Web 2.0时代掀起了又一股狂潮,致使无数开发者倾心致力于响应式网页设计。纷纷为响应式设计贡献自己的绵薄之力,当然各大软件制造上肯定不会放过如此良机,也纷纷推出各类响应式设计软件。理所当然不乏优秀之作:

  • Groundwork,一款开源的响应式设计工具,在Github上可以找到其项目源代码。Groundwork提供多套通用响应式页面模版,用于快速构建Web响应式应用程序。此外,它还提供丰富的UI组件,详情可以访问Groundwork官网。
  • FROONT,一个网页版的响应式开发工具。提供在线编辑,布局调整,以及在不同临界值之间切换预览等响应式开发必备功能,还能导出html/css文件,实属强大的响应式开发工具,更具体的介绍请参看FROONT官网,注册并登录即可体验在线响应式开发。
  • Adobe Edge Reflow CC,由世界著名软件大户Adobe公司开发的响应式网页设计软件。和Adobe Dreamweaver、Adobe Photoshop等知名软件一样,Adobe Edge Reflow CC是一款桌面应用程序,配合Adobe Edge Inspect CC可在各种移动设备之间进行响应式实时开发调试,我认为这无疑是目前为止最好的响应式网页设计软件。

接下来将对如何使用Adobe Edge Reflow CC进行响应式网页设计,以及使用Adobe Edge Inspect CC进行调试做详细介绍。

安装Reflow和Inspect

Adobe最新推出了Adobe Creative Cloud,用于管理所有Adobe软件,包括下载、更新等。界面如下:

Creative Cloud

如果已经安装过Adobe Creative Cloud,那么可以直接通过它下载并安装Reflow和Inspect。如果未安装过Adobe Creative Cloud,可以直接通过https://creative.adobe.com/products/reflow?promoid=KFKMR下载Adobe Edge Reflow CC,系统会自动提示下载安装Adobe Creative Cloud,Adobe Edge Inspect CC安装方法雷同,不做赘述。

Adobe Edge Reflow CC界面初识

Adobe Edge Reflow CC

Reflow 的用户界面如上图所示。从界面来看,目前的Reflow功能还很有限,比如:工具箱目前只有四个选项。但是,其强大之处不在于此,在于响应式的支持。下面我们一一来介绍各个部分。

首先,顶部灰色的一条菜单栏与其他软件没有太大差异,使用过windows系统的用户应该都很熟悉,不多废话。

接下来软件主体区域分为左右两个部分,左侧最上面一行是工具箱,如图所示包含四个工具,分别是选择工具添加盒子添加文本添加图片

  • 选择工具,用于选择盒子,拖动改变位置,设置CSS样式等。
  • 添加盒子,用于在界面上创建一个布局盒子,编译后会对应生成一个div标签。
  • 添加文本,用于在盒子中创建文本输入区,编译后会对应生成一个p标签。
  • 添加图片,用于在盒子中创建图片元素,编译后会对应生成一个img标签。

介绍完这些工具,我发表一下自己对Reflow的个人看法。从目前Reflow提供的工具而言,Reflow对html结构的展现支持并没有Dreamweaver等编辑器强大,数完了也不过divpimg三个标签,对语义化html结构的支持可谓少之又少,因此,我认为Reflow完全是为响应式布局而生。而在使用Reflow完成响应式模块布局之后,模块内部的内容区域样式和结构的实现,还是需要借助于像Sublime Text或Dreamweaver等这类更专业的网页编程软件来实现。

右侧是软件最主要的区域,各个相应临界值下的个性化布局完全在这片区域中实现。截图中标出了右侧上部的彩色条为临界值标识区,这里的临界值并非固定不变的,完全可以根据用户需求定制,点击右侧的添加临界值的加号按钮,可以创建一个可左右拖动的三角标,通过左右拖动来确定临界值,非常的方便。

右侧下方是网格区域,用户可以在view-Grid菜单中设置网格属性。点击标尺上方各个临界值区域的彩色条纹,可迅速将画布调整至目标尺寸,然后针对不同尺寸,调整画布网格中的盒子的布局效果,当各个临界尺寸的布局都调整好之后,我们保存项目,点击F12view-Preview in Chrome在Chrome浏览器中预览相应效果。

添加临界值的加号按钮下方还有一个叫Edge Inspect CC的按钮,主要用于结合Adobe Edge Inspect CC进行移动端的真机调试。Inspect启动前后效果图如下:

Adobe Edge Inspect CC

Adobe Edge Inspect CC启动后,点击该按钮,会出现一个主机在浮层中,移动设备通过Inspect移动端添加相应主机后,当前设计中的页面便会出现在移动设备的屏幕上,当布局修改后,点击浮层右下角的刷新按钮,可以远程控制刷新移动端的页面,以查看最新的显示效果,非常方便。还可以点击右下角的全屏按钮,改变移动端的显示效果。

一个案例教会你响应式网页设计

第一步,打开Adobe Edge Reflow CC,新建一个名为responsive的项目。使用Add a Box工具,在画布上绘制四个盒子,然后使用Selection Tool分别选中每个盒子,在styling面板中添加不同的背景色来便于区分,然后分别为每个盒子添加文字标注。点击画布右上角的加号按钮,添加几个常用临界值(如:240,320,480,640等),当然,你也可以先定临界值,然后添加盒子。最终效果大致如图:

由图可知,当前布局是针对屏幕分辨率宽为480的设备设计的,下面我们分别调整其他几个尺寸的布局,先看分辨率宽为240的:

接下来是分辨率宽为320的:

再看针对iPhone 4s等具有高清retina屏幕的分辨率宽为640的:

到目前为止,实际上已经可以测试看效果了,但是为了兼容PC浏览器,我们再添加一个大分辨率的布局效果:

好了,现在我们使用Chrome看看在各种分辨率上的显示效果,别忘了先保存,然后F12:

在Chrome中的显示效果我就不一一截图了,结果应该和上面的布局效果一致的,下面展示下在真机上的显示情况,设备有限,仅提供HTC EVO 3D(分辨率540x960)和iPad mini(分辨率760x1024)的效果。首先,启动Adobe Edge Inspect CC,然后点击Reflow右上角的Edge Inspect CC按钮打开主机列表,然后打开移动设备端的Inspect CC软件,HTC端如图:

点击右上角的“+”按钮,添加与Inspect CC中对应的主机IP:

输入主机地址后,点击加入将得到passcode,接下来如下操作:

在Reflow中的Inspect中输入passcode后点击对应设备右侧的“勾”按钮,就可以在移动设备上看到显示效果了:

以上是针对HTC的操作,针对iPad的操作大同小异,在此不再重复,下面看下iPad上的显示效果:

好了,到此我们基于Adobe Edge Reflow CC的响应式案例制作就告一段落。

PC端多浏览器兼容性问题

我们知道,在PC上有多种浏览器产商,而他们各自对标准的支持都各有特色,并不统一。对于以上案例,只能保证在对标准支持良好的浏览器中(比如Chrome、Firefox、IE8+等)才能很好的响应,而在IE8及以下浏览器中并不能得到完美的响应,只能已固定布局进行百分比缩放,这样就会出现以下尴尬的情况:

那怎么办呢?放弃低版本IE?嗯~~不太现实。不过我们的前端开发工程师是潜能无限的,所谓兵来将挡水来土掩,山人自有妙计。具体如何处理,本文不做讲解,详情请参看《media query ie8- 兼容实现总结》,此文中作者对IE8及其以下版本浏览器的响应式实现做了详细的阐释。

补充说明

Adobe Edge Reflow CC使用非常方便,开发非常迅速。但是真正用于项目开发的时候还需要有一些细节的注意。项目编译后会生成一个目录结构如图:

  • *.rflw 是一个json格式的文本文件,存放的是项目相关数据,包括画布中盒子结构,类型,位置等等一系列信息。
  • assets 文件夹中存放的是生成的静态文件css,html,images等。
  • boilerplate.css 是一个响应式模版样式文件,存放一些公共样式。
  • reflow.css 就是和我们自定义结构息息相关的样式信息了。
  • xxx_preview.html 这个是我们最终会使用到的预览页面,是最终生成的html结构。

这里需要特别注意,Adobe Edge Reflow CC的响应式是基于Chrome的,在html文件中我们会发现下面一段代码:


var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
if (!is_chrome) {document.write("

Preview HTML generated by Reflow is meant to be viewed in Google Chrome and may not display correctly in other browsers.

");
}

这会导致在非Chrome浏览器中多出一段说明信息,在正式开发中我们在使用之前应该先将这些多余的结构清理掉。

总结

本文讲到的都是一些有关响应式网页设计的非常基础的东西,实际项目开发会难得多,与具体业务相关联,也没办法讲得很清楚,需要大家在实际操作的时候慢慢体会总结。


转:https://my.oschina.net/mailzwj/blog/142701



推荐阅读
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • 深入解析Serverless架构模式
    本文将详细介绍Serverless架构模式的核心概念、工作原理及其优势。通过对比传统架构,探讨Serverless如何简化应用开发与运维流程,并介绍当前主流的Serverless平台。 ... [详细]
  • QUIC协议:快速UDP互联网连接
    QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • CSS 布局:液态三栏混合宽度布局
    本文介绍了如何使用 CSS 实现液态的三栏布局,其中各栏具有不同的宽度设置。通过调整容器和内容区域的属性,可以实现灵活且响应式的网页设计。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • Python第三方库安装的多种途径及注意事项
    本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ... [详细]
author-avatar
惜靜吾_919
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有