IT兄弟连 HTML5教程 响应式网站的内容设计
基于响应式开发网站,除了页面的布局是我们设计的重点,网站中显示的图片和文字也是我们不能轻视的内容。
1 响应式图片显示内容设计
真正具有响应性的Web设计是完全调整网站以满足访问者的设备。我们需要在响应式布局的页面上传送最佳的、前后联系的图片尺寸。如果是背景图片,我们可以准备多张不同尺寸的图片,然后在各自的媒体查询样式中使用对应的图片背景。再结合min-width、min-height、max-width、max-height等样式属性来限制窗口最小或最大宽度和高度,模拟响应式及流式布局,从而保证图片不失真。
如果是在HTML中加载图片,使图片适应不同分辨率的屏幕,则可以通过设置图片样式的百分比来实现。但是,它不仅包括缩放,同样重要的是减少传送给观众的图片。比如说用户是在移动设备中浏览网站,由于网速慢、流量少等因素,访客可能会放弃访问。为了减少这些元素给网站带来的影响,我们可以用更合适的图片替换访问者使用的设备中的数据。在开发时可以通过一些JavaScript插件来解决此类问题。
2 响应式文字显示内容设计
响应式的设计应该秉承“内容优先,移动优先”的原则。我们知道,网页中的内容主要是由文字、图片等元素组成的,那么文字该如何响应呢?排版是响应式Web设计最重要的内容之一,如果想让内容在所有尺寸的屏幕上友好地显示,那就绝对有必要为移动设备优化字体。我们可以使用不用单位的标准来实现这个目标,包括pixel(像素)、em、rem或者百分比。选择一个正确的标准对设计一个可塑的、响应式的交互界面是至关重要的。
1.pixel(像素)
很早之前,pixel(像素)就是被用作Web设计的单位,原因就是它本身固有的精密度和准确度。一旦字体赋予具体的值,就能在所有设备及浏览器中保持相同的大小。虽然这种方法提供了非常精确的大小控制,但它却与我们需要的弹性和响应式相违背。当你给一个“父”元素设置尺寸时,通过继承特性就会把尺寸“传递”给“子”元素(这就是为什么把CSS命名为“层叠”样式表)。例如,设置一个固定的像素值给body的font-size,就会把这个值“传递”给你所设计的所有其他元素。这时候,开发人员如果想单独地分配样式,就必须手动地设置不同的参数去覆盖已存在的样式。因此,基本编辑及调整将需要小心翼翼地对所有预设样式进行修改。这将引发的不只是不方便的问题,还会在各种浏览器和设备上出现显示不友好的问题,其中很多是由于选择字体大小而造成的。很多读者是在特定字体大小的情况下出现阅读障碍的,而这些都是要被防止出现的,尤其是考虑到我们响应式设计的目标是在所有的屏幕尺寸和视窗下很友好地显示。如果你的设计采用前卫的方法,那么精确的像素单位并不算是最好的选择。现在,设备有各种各样的屏幕尺寸,也就是不同像素宽高的屏幕。使用一个特定大小的字体来适应所有的屏幕,与我们的响应式设计是相违背的。
2.em
em也是一个表示大小的单位,可以定义font-size的值大小。举个例子:如果我们创建一个div包含font-size值为16px的文本,那么1em就代表16px,2em就等于32px,以此类推。em在所有浏览器中是可变化的,不需要为每个元素设置值,因为CSS具有继承特性,也就是“层叠”。很明显,使用em需要考虑优缺点。尽管使用em使得维护网站的成本降低,但会阻碍开发人员正在寻求控制、精度和可预测性的字体大小。幸运的是,这个问题可以很容易地被解决,通过为大部分内容使用相同的计算单位,还需要添加一些简单的文本元素,如header和footer。
3.百分比
类似em单位,百分比也是可变化的、可被继承的。理论上,二者没有很大的区别,都是计算单位。实际上,需要理解二者的区别是自己计划使用哪种计算单位。你当然不想在指定的元素使用em,而在其他元素使用百分比。例如,CSS声明{ font-size:100%; },这样可以覆盖浏览器默认定义或者其他不想要的百分比声明,在这里,可以使用em单位。
4.rem
还有另外一个提供弹性字体大小的单位:rem(root Em)。这个rem与em很相似,不同的是,rem只定义“父”元素的尺寸。这个重要的不同点可以解决很多出现内嵌套的元素问题。大多数设计师都知道,绝大多数的设计本质上是包含嵌套的元素。然而,现在需要意识到的是,rem是一个很新的单位,因此不是所有的桌面浏览器都支持、解释或者很好地显示它们,至少目前是这种情况。
前面介绍的4种字体的计算单位,究竟哪一种更加适合响应式Web设计呢?可以确定的是,em使得字体更加容易缩放和维护。如果你打算使用百分比来增加字体大小,你将可能去改变应用于body的百分比,而不用作其他操作。维护是一个很大的问题,是需要你在设计中多多考虑的。
IT兄弟连 HTML5教程 响应式网站的内容设计的更多相关文章
- IT兄弟连 HTML5教程 响应式布局实例
在学习Media Queries模块前,先通过一个响应式布局实例来了解一下响应式布局和Media Queries模块的简单应用.在本例中,使用HTML5的结构元素定义了5个盒子.当浏览器窗口尺寸不同时 ...
- html5/css3响应式布局介绍及设计流程
html5/css3响应式布局介绍 html5/css3响应式布局介绍及设计流程,利用css3的media query媒体查询功能.移动终端一般都是对css3支持比较好的高级浏览器不需要考虑响应式布局 ...
- IT兄弟连 HTML5教程 DIV+CSS网站首页布局示例
首页的设计直接影响网站的整体形象,虽然没有一个统一的规范,但最好将其设计为大众化的,只要信息内容能够合理地编排即可,使用户可以方便地找到需要的信息.另外,首页的高度最好不要超过三个屏幕,页面中使用的颜 ...
- 为何企业钟爱H5响应式网站? html5响应式网站的优势与特点
随着移动互联网时代的到来,H5响应式网站应运而生,并成功获得了商家.访客.搜索引擎等的青睐!越来越多的企业也选择了H5响应式建站,可为何企业钟爱H5响应式网站呢?难道传统网站不好吗?这个不能妄下结论, ...
- 基于jquery响应式网站图片无限加载瀑布流布局
分享一款效果非常酷的jQuery瀑布流布局无限加载图片效果.整个页面采用响应式布局,图片采用jQuery.Lazyload延时加载技术,提升整个页面的加载速度.效果图如下: 在线预览 源码下载 实 ...
- 15款免费的 HTML5/CSS3 响应式网页模板
如果你想快速制作出一个优秀的网站,网站模板一定是必不可少的.网页设计师和开发人员也可以从网站模板入手,学习先进的布局方式和编码风格.下面这个列表为大家挑选了15款免费的 HTML5/CSS3 响应式网 ...
- 使用 CSS 媒体查询创建响应式网站
简介 现今每天都有更多的手机和平板电脑问市.消费者能够拥有可想象到的各种规格和形状的设备,但是网站开发人员却面临一个挑战:如何使他们的网站在传统浏览器.手机和平板电脑浏览器上有很好的效果,如何在各种大 ...
- 使用 Responsive Elements 快速构建响应式网站
Responsive Elements 可以使任何元素来适应和应对他们所占据的区域.这是一个轻量的 JavaScript 库,你可以轻松嵌入到你的项目.元素会更具自己的宽度,自动响应和适应空间的增加或 ...
- html5/css3响应式页面开发总结
一,自适应和响应式的区别 自适应是一套模板适应所有终端,但每种设备上看到的版式是一样的,俗称宽度自适应. 响应式一套模板适应所有终端,但每种设备看到的版式可以是不一样的. 虽然响应式/自适应网页设计会 ...
随机推荐
- Java thinking,What is the result?
interface O { public Integer oc(Integer i); } abstract class A { Integer i; public A(){ this.i = 0; ...
- 03-kubernetes 应用快速入门
目录 增删改查 增 service创建 测试其他pod通过series访问nginx 测试手动变更nginx对应的pod的ip pod和service之间的关系 service调度测试 创建myapp ...
- Nginx配置详细解析(全)
一.nginx.conf文件结构 (1)共三部分:由全局块.events块.http块组成.http块又包含http全局块.server块:server块由多个location块组成. (2)一般情况 ...
- Android DataBinding不能自动生成ViewDataBinding类的解决方法
如果Build.gradle和Layout文件配置正确,仍无法生成ViewDataBinding类. 经测试,Gradle的sync无效,clean project无效,invalidate and ...
- Mac从拆箱到入门
Mac从拆箱到入门 记录首次使用Mac的我的历程,不是专业的Mac使用教程,只是简单的记录.还有我在使用过程中一些用到的功能都一些小提示吧. 1.首次开机配置,对于一个完全的新手来说(也就是我) ...
- 使用生成对抗网络(GAN)生成手写字
先放结果 这是通过GAN迭代训练30W次,耗时3小时生成的手写字图片效果,大部分的还是能看出来是数字的. 实现原理 简单说下原理,生成对抗网络需要训练两个任务,一个叫生成器,一个叫判别器,如字面意思, ...
- 带着canvas去流浪系列之七 绘制水球图
[摘要] 用原生canvasAPI实现百度echarts 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 任务说明 使用原生canvasAPI绘制 ...
- 使用curl创建简单的性能监控工具
cURL,全称Command Line URL viewer,是一种命令行工具,用来发送网络请求,然后得到和提取数据,显示在标准输出(stdout). 我们可以使用curl来获取网页的源码,显示头信息 ...
- 学习ThinkPHP的第20天--MySQL事务操作、查询事件、一对一关联
之所以从20天才开始写随笔记是因为之前没搞自己的博客 从20天开始记录我在ThinkPHP中的点点滴滴 1.MySQL事务操作 /**事务操作*/ //startTrans启动事务.rollback回 ...
- Django 2.0.7 使用小知识
Django 2.0.3 使用小知识 运行环境: Python 3.6.4 Django 2.0.7 Django Admin中model显示为中文 定义model时,定义一个Meta对象,设置需要显 ...