技术非常多。样例非常多。仅仅好慢慢学,慢慢实践!。如今学的这本书是【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。转载临时省略!