响应式Web之图片的缩放

其实对响应式网页有种片面的误解:页面元素不固定宽度,按百分比自动缩放,来实现不同尺寸视口的统一展示;响应式网页嘛,顾名思义,就是这种理解。其实响应式Web开发属于HTML5,并且是专门用来适配不同终端的,而且是根据终端类型来适配不同的功能模块和表现样式的,所以上面的理解是片面的;因为忽略了适配不同的功能模块,当然这样也就无形的增加了原本页面的复杂性,可能你为了适应3大终端,而必须得设计三套PSD,写三套样式表,还有额外的交互体验,但这是值得的,这样一来,你的应用在各种终端下都能完美展示,并且不失用户体验,在产品主线不变的情况下,能满足更多的用户需求,带来不一样的体验。

响应式Web初探——花满楼 里有响应式开发的基本做法,这里谈下其中的一大重点,图片的缩放。我们要做的是:PC、iPad、mobile三大终端保质响应图片。

网页头部加入<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" />后我们要适配的宽度就是手机的屏幕尺寸了。参照http://screensiz.es/phone可以看出,要想图片在手机上保质显示,图片宽度不应小于380到400,这时图片的样式width:100%、max-width:100%是很好的样子;但这个尺寸只是用于手机,其他终端下,图片必然会放大变形;

其实不就是响应缩放一个图片嘛,作为一个前端,这根本就不是啥难事,来个简单暴力的方式吧:统一图片尺寸以PC上为准,其他终端按max-width:100%来缩放,或者以手机上为准,去掉width:100%;但这两者都有一定弊端:前者在手机端的消耗将大大增加,后者很难满足复杂的场景。

下面来看media query的做法:

咱先把图片作为背景显示,分别适配三大终端;

@media only screen (max-device-width:350){background:url(mobile.png) no-repeat;background-size:100% 100%;}

@media only screen (min-device-width:500) and (max-device-width:1024){background:url(pad.png) no-repeat;background-size:100% 100%;}

@media only screen (min-device-width:1024) and (max-device-width:1024){background:url(pc.png) no-repeat;background-size:100% 100%;}

是的,这样你将会为一张图片的显示准备三个版本的图片和样式,然而这也并不是什么难事;在这里,不用担心你在一个终端会把3种图都加载,这3个media相当于3条if语句,只有符合条件才会去执行其中的样式。

HTML5很酷,前端很酷,作为一个小前端(花名:花满楼),道阻且长,只言片语,愚论拙见,在此分享,与君共勉!

时间: 2024-12-15 16:00:33

响应式Web之图片的缩放的相关文章

响应式web设计与CSS3媒体查询

在之前一篇译文中,我们了解了响应式Web设计的概念.组成要素以及基本的实现思路.今天继续相关话题,我们将从前文介绍过的"弹性布局结构"这方面出发,通过一个具体的实例来深入学习. 如今的屏幕分辨率,小至320px(iPhone),大到2560px甚至更高(大显示器),变化范围极大.除了使用传统的台式机,用户会越来越多的通过手机.上网本.iPad一类的平板设备来浏览页面.这种情况下,固定宽度的设计方案将会显得越发不合理.页面需要有更好的适应性,其布局结构要做到根据不同的设备及屏幕分辨率进行

《响应式Web设计实践》学习笔记

原书: 响应式Web设计实践 第2章 流动布局 1. 布局选项 传统的固定布局中存在很多问题, 随着屏幕大小的越来越多元化, 固定布局已经不能适用了. 在流动布局中, 度量的单位不再是像素, 而是变成了百分比. 弹性布局与流动布局类似, 但是通常情况下, 弹性布局中会以em来作为单位. 带来一个好处是随着用户增大或减小字体, 适用弹性布局的元素的宽度也会等比例地变化. 但是其也可能出现水平滚动条 混合布局 媒体查询: 媒体查询允许根据设备的信息----诸如屏幕宽度, 方向或者分辨率等属性来使用不

响应式Web初探

传统网站直接搬到移动端是无法直视的: 在移动端会创建一个虚拟布局窗口来完整的显示页面,参照http://screensiz.es/phone可以看出,手机上最宽能显示1080px宽的网页,虽然这样可以看到完整的页面,但是缩小的窗口里面的内容视觉美感降低,是无法体现用户体验的,甚至产品的价值也会大打折扣:这是很糟糕的!而响应式Web就这样应运而生了,他将能够解决您的网站跨多终端也能够完美展示的问题. 为了解决移动端屏幕分辨率的问题,各大浏览器专门定义并支持viewport虚拟窗口,他的作用就是允许

CSS3 Media Query实现响应式Web设计(针对不同移动设备宽度)

如今的屏幕分辨率,小至320px(iPhone),大到2560px甚至更高(大显示器),变化范围极大.除了使用传统的台式机,用户会越来越多的通过手机.上网本.iPad一类的平板设备来浏览页面.这种情况下,固定宽度的设计方案将会显得越发不合理.页面需要有更好的适应性,其布局结构要做到根据不同的设备及屏幕分辨率进行响应调整.接下来,我们将了解一下怎样通过HTML5和CSS3 Media Queries(媒介查询)相关技术来实现跨设备跨浏览器的响应式Web设计方案 范例效果预览 首先,我们来看看本篇范

让IE支持CSS3 Media Query实现响应式Web设计

如今的屏幕分辨率,小至320px(iPhone),大到2560px甚至更高(大显示器),变化范围极大.除了使用传统的台式机,用户会越来越多的通过手机.上网本.iPad一类的平板设备来浏览页面.这种情况下,固定宽度的设计方案将会显得越发不合理.页面需要有更好的适应性,其布局结构要做到根据不同的设备及屏幕分辨率进行响应调整.接下来,我们将了解一下怎样通过html5和css3 Media Queries(媒介查询)相关技术来实现跨设备跨浏览器的响应式web设计方案.我们需要在页面中调用css3-med

响应式web开发

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/> 其中: width - viewport的宽度 height - viewport的高度 initial-scale - 初始的缩放比例 minimum-scale - 允许用户缩放到的最小比例 max

响应式 Web 设计应该避免的错误

英文原文:Mistakes to Avoid With Responsive Web Design By Ramya Raju 当下,尤其是几乎人人都有一台智能手机或者平板电脑的时候,开发手机端用户体验友好的网站的重要性不言而喻.其结果是,企业所有者会因为这样的交互 网站设计能够给不同平台下(桌面端到手机端到平板电脑)的用户带来不一般的体验而去触碰交互式web设计这一想法.开发一个带有响应式交互设计的网站变得 非常有意义,因为其可以在不同的设备运行,因此,你可以节约针对不同平台开发不同网站的成本

css014 响应式web设计

css014 响应式web设计 一.    响应式web设计基础知识 1.rwd的三大理念:a.用于布局的弹性网络, b.用于图片和视频的弹性媒体,c.为不同屏幕宽度创建的不同样式的css媒体查询. 二.    为RWD构建网页 1.            手机浏览器中为了忽略手机浏览器屏幕变小字体也变小的行为,可在head中添加一行代码: <meta name="viewport" content="width=vedice-width"> 最好是添加

CSS3-基于浮动的布局,响应式WEB设计,定位网页上的元素,设计打印页面的css技术

基于浮动的布局: 1.除非图片设置了宽度,否则始终应该要对浮动的图片设置一个宽度,这样可以让浏览器给其他内容腾出环绕的空间 2.当侧边栏的高度与主内容区的高度不一致的时候,可以用个margin进行调整 3.在一个非浮动元素<div>中存在一个浮动元素,当浮动元素高于元素本身的时候,内容就会溢出<div>中,解决方案如下: A:在</div>介绍之前添加一个换行,并且添加一个类<br class=”clear”/>,之后创建一个样式br.class{clear