JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记2
技术很多,例子很多,只好慢慢学,慢慢实践!!现在学的这本书是【JavaScript实战----JavaScript、jQuery、HTML5、Node.js实例大全】
JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记1
3.2 照片加载与定位
根据功能设计,可以先写好 HTML 结构基础,再配好 CSS 做出大致效果,最后用 JavaScript加上各种动作。首先请看 HTML 代码结构。
3.2.1 HTML 代码
CSS代码保存到 eg3.css 文件中,JavaScript代码保存到 eg3.js 文件中,这样让 HTML代码更加 干净。详见【范例 3-1】。
【范例 3-1 照片展示的 HTML 代码】
<!DOCTYPE html>
<html>
<head>
<title>照片展示</title>
<link rel="stylesheet" href="eg3.css" type="text/css" />
</head>
<body>
<div id="bigPhoto"><img id="bigPhotoSrc" src="photo01.jpg" width="620" height="450" border="0"
alt=""></div>
<div id="smallPhotos">
<span id="prve"></span>
<ul id="smallPhotosList">
</ul>
<span id="next"></span>
</div>
<script src="eg3.js"></script>
</body>
</html>
对比前面章节的范例看上去更加简洁了对吧!重构的目的就是在于这样的效果,这可以说是开 发人员的用户体验。
3.2.2 CSS 代码
直接预览【范例 3-1】时肯定是乱七八糟的,在 eg3.css 中写好布局和定位的代码之后效果就大 不一样了,见图 3-2,CSS 代码见【范例 3-2】。
【范例 3-2 照片展示的 CSS 代码】
1. ul,li{
2. list-style: none;
3. }
4. #smallPhotos{width:620px; margin: 10px 0;}
5. #smallPhotosList{ margin: 0 auto; width:580px; float:left;padding: 0;}
6. #smallPhotosList li{
7. float:left; /*左浮动*/
8. margin-left: 10px; /*左外边距 10 像素*/
9. _margin-left:8px; /*这是专门正对 IE6 间隙太大而设置的*/
10. }
11. #smallPhotosList img{
12. border:2px solid #000;
13. cursor:pointer; /*鼠标样式*/
14. }
15. #prve{
16. background: url(icon_prve.jpg);
17. height: 40px;
18. width:20px;
19. display: inline-block; /*让 span 标签变成块级元素*/
20. float: left;
21. cursor:pointer;
22. }
23. #next{
24. background: url(icon_next.jpg);
25. height:40px;
26. width:20px;
27. display: inline-block;
28. float: right;
29. cursor:pointer;
30. }
这些 CSS 再加上后面【范例 3-3】的 JavaScript 代码,效果就大不一样了,请看图 3-2 的加载CSS 前后对比。
图 3-2 加载 CSS 代码前后
在【范例 3-2】中有一个称呼是 CSS hack,这个针对不同的浏览器写不同的 CSS code 的过程, 就叫 CSS hack。CSS hack 的存在是不同的浏览器,比如 IE 6、IE 7 等,对 CSS 的解析认识不一样, 会导致页面效果不同,得不到我们所需要的页面效果。 这个时候需要针对不同的浏览器去写不同的 CSS code,让它能够同时兼容不同的浏览器。
CSS Hack 大致有 3 种表现形式,CSS 类内部 Hack、选择器 Hack 以及 HTML 头部引用(if
IE)Hack,CSS Hack 主要针对 IE 浏览器,有一个比较全的 CSS Hack 表,请见图 3-3,转载暂时省略!
最具士兵突击实战类型的JavaScript
JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记2的更多相关文章
- JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记3
技术很多,例子很多,只好慢慢学,慢慢实践!!现在学的这本书是[JavaScript实战----JavaScript.jQuery.HTML5.Node.js实例大全] JavaScript.jQuer ...
- JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记1
技术很多,例子很多,只好慢慢学,慢慢实践!!现在学的这本书是[JavaScript实战----JavaScript.jQuery.HTML5.Node.js实例大全] 第 3 章 用 JavaScri ...
- JavaScript、jQuery、HTML5、Node.js实例大全-读书笔记4
5.2.2 让瀑布流动起来 打好基建之后,就需要写JavaScript代码.首先如果数据不够显示一屏幕的情况,就用新数据来补足它,在补充的时候是根据4列中最矮的那一个为优先补充,因为高矮尺寸一般只有在 ...
- Node.js高级编程读书笔记Outline
Motivation 世俗一把,看看前端的JavaScript究竟能做什么. 顺便检验一下自己的学习能力. Audience 想看偏后台的Java程序员关于前端JavaScript的认识的职业前端工程 ...
- node.js开发指南读书笔记(1)
3.1 开始使用Node.js编程 3.1.1 Hello World 将以下源代码保存到helloworld.js文件中 console.log('Hello World!'); console.l ...
- Node.js 开发指南-读书笔记
1. Node.js 使用了单 线程.非阻塞的事件编程模式 Node.js 最大的特点就是采用异步式 I/O 与事件驱动的架构设计.对于高并发的解决方 案,传统的架构是多线程模型,也就是为每个业务逻辑 ...
- Node.js高级编程读书笔记 - 4 构建Web应用程序
Outline 5 构建Web应用程序 5.1 构建和使用HTTP中间件 5.2 用Express.js创建Web应用程序 5.3 使用Socket.IO创建通用的实时Web应用程序 5 构建Web应 ...
- Node.js高级编程读书笔记 - 6 应用程序构建和调试 - Never
Explanation 现阶段console.log(...),util.inspect(...), JSON.stringify(...)在控制台输出已经够用了[2015/07/19]. 单元测试隶 ...
- Node.js高级编程读书笔记 - 1 基本概念
Outline 1 概述和安装 1.1 安装Node 1.2 Node简介 2 Node核心API基础 2.1 加载模块 2.2 应用缓冲区处理.编码和解码二进制数据 2.3 使用时间发射器模式简化事 ...
随机推荐
- PI-安装SoapUI on Windows
SoapUI是测试webservice连通性的工具,请见博文:http://www.dekevin.com/?p=1807 当你下载好了SOAPUI的安装程序之后,就可以进行程序的安装了,怎么来进行S ...
- c# windowsForm打印
在windows应用程序中文档的打印是一项非常重要的功能,在以前一直是一个非常复杂的工作,Microsoft .net Framework的打 印功能都以组件的方式提供,为程序员提供了很大的方便,但是 ...
- delphi 保存网页MHT
delphi 保存网页MHT uses ADODB_TLB, CDO_TLB, ComObj,MSHTML;{$R *.dfm}{能把网页如 WWW.QQ.COM保存为一个单文件 .MHT但不能把 ...
- sed命令查找<media/msm_cam_sensor.h>替换为"len_msm_cam_sensor.h"
sed -i 's:<media/msm_cam_sensor.h>:"len_msm_cam_sensor.h":g' $(find . -name "*. ...
- android Camera 数据流程分析
这篇文章主要针对其数据流程进行分析.Camera一般用于图像浏览.拍照和视频录制.这里先对图像浏览和拍照的数据流进行分析,后面再对视频电话部分进行分析. 1.针对HAL层对摄像头数据处理补充一下 Li ...
- Swift计算属性
除存储属性外,类.结构体和枚举可以定义计算属性,计算属性不直接存储值,而是提供一个 getter 来获取值,一个可选的 setter 来间接设置其他属性或变量的值. struct Point { va ...
- yii2 model源码解读
模型yii\base\Model 模型主要实现了验证规则和验证器确保输入的数据是安全和正确的. 模型的流程: 1.从请求中读取数据.使用load或者loadMultiple或者手动赋值.load会根据 ...
- Python学习 之 流程控制
1.if else 语法:if expression1: statement1(s) elif expression2: statement2(s) else: statement3(s) 2.for ...
- 解决Download interrupted: Connection to https://dl-ssl.google.com refused的问题
运行->drivers->etc->hosts 加入一行 74.125.237.1 dl-ssl.google.com ok! =================上述方法已经失效, ...
- python学习笔记(三)--条件语句
Python 条件语句 Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. Python 编程中 if 语句用于控制程序的执行,基本形式为: if 判断条 ...