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响应式页面开发总结
一,自适应和响应式的区别 自适应是一套模板适应所有终端,但每种设备上看到的版式是一样的,俗称宽度自适应. 响应式一套模板适应所有终端,但每种设备看到的版式可以是不一样的. 虽然响应式/自适应网页设计会 ...
随机推荐
- nginx一:安装和基本应用
Nginx: 目录 Nginx:... 1 NGINX简介和安装... 1 网站... 1 全称... 2 二次开发版... 2 Nginx的特性... 2 基本功能... 2 web服务相关的功能. ...
- Java的证书:HTTPS与SSL
在取得connection的时候和正常浏览器访问一样,仍然会验证服务端的证书是否被信任(权威机构发行或者被权威机构签名):如果服务端证书不被信任,则默认的实现就会有问题,一般来说,java在访问ssl ...
- LESSON 1-Introduction
Keywords: Communication system, Channel model, Channel capacity by Shannon 1. Two fundamental archit ...
- 【前端】之JavaScript基础知识
JS 基础知识 JS中,简单类型的数据存储在栈中,复杂类型的数据存储在堆中,其引用存储在栈中 JS中的深拷贝和浅拷贝: 浅拷贝:将对象中的所有简单类型的属性拷贝出来,引用类型属性直接赋值null 深拷 ...
- 【Android - 控件】之MD - NavigationView的使用
NavigationView是Android 5.0新特性——Material Design中的一个布局控件,可以结合DrawerLayout使用,让侧滑菜单变得更加美观(可以添加头部布局). Nav ...
- Qt事件分发机制源码分析之QApplication对象构建过程
我们在新建一个Qt GUI项目时,main函数里会生成类似下面的代码: int main(int argc, char *argv[]) { QApplication application(argc ...
- Redis集群生产环境源码安装
安装redis集群 根据各人单位生产环境用户搭建一.安装环境 操作系统:centos7.6 关闭防火墙.关闭selinux redis1:192.168.26.128 redis2:192.1 ...
- Too many open files的四种解决办法【华为云技术分享】
[摘要] Too many open files有四种可能:一 单个进程打开文件句柄数过多,二 操作系统打开的文件句柄数过多,三 systemd对该进程进行了限制,四 inotify达到上限. 领导见 ...
- 在Eclipse中混合Java和Scala编程
1. 新建项目目录 scala-java-mix 2. 创建 src 目录及子目录: mkdir -p src/main/java mkdir -p src/main/scala 3. 在目录 sca ...
- iOS全局处理键盘事件
转自:http://www.cnblogs.com/xinus/archive/2013/01/22/ios-keybord-notification.html 注册监听键盘事件的通知 [[NSNot ...