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响应式页面开发总结
一,自适应和响应式的区别 自适应是一套模板适应所有终端,但每种设备上看到的版式是一样的,俗称宽度自适应. 响应式一套模板适应所有终端,但每种设备看到的版式可以是不一样的. 虽然响应式/自适应网页设计会 ...
随机推荐
- C# 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”
“Microsoft.Jet.OLEDB.4.0” 是数据库接口驱动,用来连接数据库的,一般多用于连Access和Excel.我在在winform开发时,在本地运行没有问题,可是部署到另一台服务器上就 ...
- Roarctf 几道pwn 复现
1.easy_pwn 可以利用的点: __int64 __fastcall sub_E26(signed int a1, unsigned int a2) { __int64 result; // r ...
- JSON的使用场景及注意事项介绍
上篇我们讲解了JSON的诞生原因是因为XML整合到HTML中各个浏览器实现的细节不尽相同,所以道格拉斯·克罗克福特(Douglas Crockford) 和 奇普·莫宁斯达(Chip Mornings ...
- linux网络配置(iproute2)
iproute2家族 ip命令:show / manipulate routing,devices,policy routing and tunnels(显示/操纵路由.设备.策略路由和隧道) 语法 ...
- 使用IDEA创建SpringMVC项目
作为一名从.NET转Java的小渣渣,之前都是听说Java配置复杂,今天算是见识到了.甚是怀念宇宙第一IDE VS和.NET高效的开发. 网上大多教程是基于Eclipse的,即使按照IDEA的教程做, ...
- python中的random模块简析
在Python生成随机数用random模块,下面的文章是本人自己简单总结的ython生成随机数与random模块中最常用的几个函数的关系,希望对大家有所帮助. random.random()用于生成随 ...
- Spring(Bean)5
spel <bean id="address" class="com.atguigu.spring.beans.spel.Address"> < ...
- PHP获取绝对路径dirname(__FILE__)和__DIR__比较
我们都知道,要获取当前PHP脚本所在目录的绝对路径,dirname(__FILE__) 和 __DIR__都可以实现.那么什么情况下用 dirname(__FILE__),什么情况下用 __DIR__ ...
- 如何切换本地的GIT账号
如何切换本地的GIT账号 1.为什么登陆第一次Git之后,就不用登陆了呢? 因为电脑已经将你的登陆凭据给保存起来了. 这也正是你不知道如何切换账号的原因. 2.在哪里能看已经保存的登陆凭证呢?并能够切 ...
- Gradle+Groovy基础篇
在Java项目中,有两个主要的构建系统:Gradle和Maven.构建系统主要管理潜在的复杂依赖关系并正确编译项目.还可以将已编译的项目以及所有资源和源文件打包到.war或.jar文件中.对于简单的构 ...