《移动Web前端高效开发实战》笔记1——静态布局在移动端上的自适应

1.整体缩放

整体缩放可以用在营销活动页,营销活动可能因为设计美观需求必须使用背景图片而非背景色,因此需要考虑背景图适应屏幕大小。开发者可以用320像素的宽度作为基础宽度(高度可以固定),然后通过计算实际文档宽度来进行相应缩放。

使用整体缩放布局开发的项目在加载过程中需要监听resize事件,代码如下:

window.addEventListener(‘resize’,document.body.clientWidth / 320);

除此之外,开发者需要在缩放的节点上添加transform-origin属性保证缩放是从原点开始,如果非原点缩放会导致页面不能完全显示,CSS代码如下:

.wrap {
	width: 320px;
	transform-origin: 0 0
}

2.媒体查询

另一种方法是使用背景色整体填充,主体使用不同的媒体查询进行大小优化,开发者需要对主流的屏幕分辨率进行设定,本实例因为要处理图标到背景图的精确定位,所以并不适合使用媒体查询,媒体查询更加适合一些展示型页面,本实例仅对外层做修改,假设拥有一个绿色背景,代码如下:


媒体查询会使代码量大幅增加,在实际开发中,开发者需要注意两点,一是将不需要根据屏幕变化的属性放到媒体查询外设置,减少代码冗余,二是设置好需要的媒体查询断点。

.wrap { background-color: green; }					/* 设定外层背景色 */
.main-bg {
	background: url(../images/main.jpg) no-repeat;		/* 背景图片 */
	background-size: 100%;						/* 背景图片撑满容器 */
}
@media (max-width: 320px) {						/* 适配320px宽度以下屏幕 */
	. main-bg {
		width: 320px;
		height: 470px;
	}
}
@media (min-width: 321px) and (max-width: 639px) {	/* 适配320px到640px宽度屏幕 */
	. main-bg {
		width: 480px;							/* 采用480px适配改区间 */
		height: 705px;							/* 调整高度放置图片拉伸 */
	}
}
@media (min-width: 640px) {						/* 适配640px以上宽度屏幕 */
	. main-bg {
		width: 640px;
		height: 940px;
	}
}

  

更多信息关注:

时间: 2024-10-11 13:35:06

《移动Web前端高效开发实战》笔记1——静态布局在移动端上的自适应的相关文章

《移动Web前端高效开发实战》笔记2——使用Gulp构建一个ECMAScript 6和Sass应用

8.3.1 安装和配置 运行Gulp需要Node.js环境,请参看第二章内容搭建Node.js环境.使用NPM全局安装Gulp,命令如下: npm install gulp-cli –g 然后,在项目根目录下创建package.json文件,命令如下: npm init 根据引导配置项目信息.然后安装Gulp依赖包,命令如下: npm install gulp –save-dev 在项目根目录下,创建gulpfile.js文件,内容如下: var gulp = require("gulp&quo

《移动Web前端高效开发实战》笔记3--代码检查任务

在项目的开发过程中,统一的代码风格对于项目的可协作性以及可维护性来说相当重要,因此可以采用一些插件来进行代码风格的检查. 本例中的源文件包含两类:Sass文件和采用ECMAScript 6规范的JavaScript文件.在Gulp中,采用gulp-eslint和gulp-sass-lint插件来分别进行检测. 1.代码检查任务中,采用开源的JavaScript验证工具ESlint进行处理,执行任务前需要先全局安装ESLint,命令如下: npm install eslint –g 2.在项目目录

web前端入门到实战:CSS flex布局入门

一. why flex 都知道html正常的文档流是自上而下排列的,块级元素会像下左图一样排列.但是项目中尤其是移动端项目会有很多需求的排版方式是要求由左到右排列.虽然可以通过dispaly:inline-block.float.position完成排版,但是需要对距离进行计算,计算起来十分麻烦. 2009年W3C提出了一种新的方案--引入了弹性布局flex方式,通过容器的轴线来排列项目,简直是移动端开发的福音(虽然grid布局更牛x,后面会总结).自己也用了挺久的,但是有些参数记忆很模糊,每次

CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(1)设定背景图

技术的新发展,除计算机可以接入互联网之外,平板电脑.智能手机.智能电视等其他设备均可访问互联网.在多设备时代,构建多屏体验也不是听说的那么难. 但是这也增加了学习CSS的难度?不知道如何上手,只懂一点基础的CSS语法,在移动互联时代,难道我们就这样落伍了??好好学习吧,看完<CSS高效开发实战:CSS 3.LESS.SASS.Bootstrap.Foundation>,给自己的未来打气! 5.1  设定背景图的大小 在CSS 3出现之前,背景图片的尺寸是由图片的实际尺寸决定的.如果同样的图片要

《Python高效开发实战:Django、Tornado、Flask、Twisted》PDF+源码

Python高效开发实战 链接:https://pan.baidu.com/s/1udqe8V2QSh0CMTVg2vEblQ  提取码:igo0 ? 作者: 刘长龙出版社: 电子工业出版社出版年: 2016-10页数: 516定价: 89装帧: 平装ISBN: 9787121300103 内容简介  · · · · · · 也许你听说过全栈工程师,他们善于设计系统架构,精通数据库建模.通用网络协议.后端并发处理.前端界面设计,在学术研究或工程项目上能独当一面.通过对Python及其周边Web框

web前端入门到实战:css选择器和css文本样式相关

[文章来源微信公众号:每天学编程]---关注,后台领取编程资源 css基础-css选择器和css文本样式相关: 使用link链入外部样式,页面加载时会同时加载样式 @import url("*.css");使用导入式,页面加载完后,才会加载样式 链接伪类的顺序 :link-> :visited ->:hover-> :active 或者 : visited -> : link ->:hover-> :active 选择器的优先级: id选择器>

[ios5 cocos2d游戏开发实战] 笔记3-FileUtils, notificationCenter

FileUtils //文件管理工具 FileUtils::getInstance() std::string getStringFromFile(const std::string& filename);//读取文件中的字符串 Data getDataFromFile(const std::string& filename);//获取文件数据 void setSearchPaths(const std::vector<std::string>& searchPaths

《Python高效开发实战》实战演练——基本视图3

在完成Django项目和应用的建立后,即可以开始编写网站应用代码,这里通过为注册页面显示一个欢迎标题,来演示Django的路由映射功能. 1)首先在djangosite/app/views.py中建立一个路由响应函数: from django.http import HttpResponse def welcome(request): returnHttpResponse("<h1>Welcome to my tiny twitter!</h1>") 该代码定义

《web 前端基础到实战系列课程》

<web 前端基础到实战系列课程> 摘要: mod_expires&mod_headers可以减少10%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求. 在使用之前,首先要确认一下"mod_expires"模组是否有启用.如果是自己安装Apache来架设网页主机的话,这里我们可以透过编辑Apache的"httpd.conf"设定档来处理 一.浏览器缓存原理 将该行前面的"#"字号删除