标题干枯无力,太残念了,一个从小语文不及格的理科生写技术文章实在压力山大,尽请体谅。这篇搓文介绍提高网站性能的再三个步骤,是上篇的姊妹篇。
背景知识:
浏览器加载网页的顺序与我们读书一样,自上而下逐行加载。
先加载<head>...</head>中的内容,其次<body>...</body>直接的内容。当浏览器加载到<script><link><img>等这些带有src属性链接的标签时,会向相应链接服务器发送请求读取内容,浏览器会限制并行请求数量。
网页并不是全部加载完后一并显示在用户面前,而是会边加载边显示。利用这一加载机制,我们可以快速实现一些提高网站性能的目标。
步骤:
- 将script标签放置在页面底部
- 将CSS标签放置在HTML头部
- 适当使用雪碧图(又叫精灵图,css image sprite)
详细介绍:
1. 将script标签放置在页面底部
将<script>标签放置在页面底部</body> body结束标签之前,并紧挨着body结束标签(中文实在太绕口Put your script tag just before the end tag of body)。
理由一:javascript代码一般不影响页面布局,往往被用来实现页面元素的动作事件以及动画效果。没有必要在页面内容加载完成之前加载,所以放置到最后无可厚非。
理由二:拒绝站着茅坑不拉屎;如果放在页面头部,占用浏览器有限的下载带宽,延缓或阻止页面内容的快速加载,是一件很xx的事。
2.将CSS标签放置在HTML头部
CSS样式表决定了页面的布局显示效果,放在页面头部加载可以保证内容呈现在用户面前即为最终的页面表现形式。假如CSS样式表放置在页面底部加载,起初加载时会出现一个很糟糕的结果:
CSS加载完毕后,页面迅速变成:
这绝对不是我们想看到的。所以请将CSS标签放置在HTML头部吧。
3.适当使用雪碧图(又叫精灵图,css image sprite)
雪碧图:将页面上的频繁使用的图片合并成一张,然后以背景的形式呈现在页面,通过css的background-position属性定义哪一部分被呈现在页面上。
目的:减少HTTP请求数量,提高网页加载速度。
推荐工具:css sprites generator(可以自动将你上传的图片合并并给出对应的background-position坐标。并将结果以png和gif的格式输出。)
楼主的个人网站:www.tarobjtu.com的导航栏就使用了雪碧图,可以拿来拍砖
雪碧图为:
雪碧图的使用是一把双刃剑,用不好的话还不如不用。网上有很多文章争论雪碧图:
CSS雪碧图会占用太多浏览器内存吗?
CSS雪碧:要还是不要?
分享到:
相关推荐
《信息学奥赛一本通提高篇》是针对信息学竞赛的高级教程,主要聚焦于基础算法的提升。在第1部分“基础算法(提高篇)”中,作者深入探讨了数据结构与算法的基础知识,旨在帮助参赛者提升解决复杂问题的能力。这部分...
在前端性能优化的领域,理解和应用性能监测工具是提高网站性能的关键步骤。本小册内容涵盖了性能优化的基础知识体系、实践方法以及性能监测工具的使用技巧。 首先,性能优化是一个需要理论和实践相结合的过程。性能...
6. **F2FS(Flexible Log-structured File System)文件系统**:为适应Flash特性而设计的文件系统,如F2FS,能够减少不必要的写入操作,提高I/O性能,并支持快速启动和恢复。 7. **多级单元(MLC/TLC/QLC)和3D堆叠...
《FANUC数控系统AC伺服电机伺服...总之,这份基础篇的伺服调整步骤指南提供了从基础到进阶的全面指导,涵盖了FANUC AC伺服电机在实际应用中的常见调整问题,旨在帮助操作人员优化系统性能,提升生产效率和加工质量。
【电子商务网站性能优化】是指通过一系列技术和策略提升网站运行效率,增强用户体验,确保在高并发访问下仍能稳定、快速地提供服务。本篇毕业设计主要关注的是针对中小型电子商务网站的性能提升,尤其是针对MySQL...
在本篇文章中,我们将深入探讨如何通过一系列优化措施来显著提升Windows 7系统的性能,并加快其启动速度。根据最新的研究成果,这些方法能够帮助用户将Windows 7的启动时间缩短至35秒左右,并且整体系统性能可以提升...
服务器操作系统安装教程 本篇文章是关于 Dell r730 服务器操作系统安装的详细教程,旨在指导...本篇文章详细介绍了服务器操作系统安装的每一步骤,为读者提供了详细的指导,帮助读者快速完成服务器操作系统的安装。
本篇文章将依据书中的核心内容,详细阐述Android性能测试的各个方面。 一、性能测试的重要性 在Android平台上,性能测试是确保应用程序流畅运行、提升用户体验的关键步骤。它涉及到CPU利用率、内存管理、电池寿命...
确保正确管理代理和通道,避免频繁创建新的代理,尤其是在有状态的情况下,重复使用通道可以显著提高性能。同时,异步调用是提高客户端响应能力的关键,特别是在处理长时间运行的操作时。 除此之外,还应注意缓存...
### 在VC++6.0环境下的C语言操作步骤详解 #### 一、简介 C语言是一种结构化的编程语言,广泛应用于系统开发、嵌入式系统等领域。对于非计算机专业的初学者来说,掌握一种编程语言是相当重要的技能。本文将详细介绍...
1. **代码优化**:编写高效、整洁的PHP代码是提高性能的第一步。避免使用全局变量,减少数据库查询,使用预编译语句(如PDO预处理语句)来防止SQL注入,以及利用PHP内置的函数而非自定义函数,都能提升执行效率。 2...
本篇文档将深入探讨如何通过设计装置来提升装饰原纸的综合性能,使其在耐用性、色彩稳定性、环保性等方面达到更高的标准。 首先,我们要理解装饰原纸的生产过程。它通常包括制浆、造纸、浸胶、烘干、压花等步骤。在...
《PIC单片机实用教程——提高篇》 pdg 李学海 北京航天航空大学出版社 本书兼顾PIC全系列,共分9章,内容包括:基本概念、PIC16F877硬件概况、指令系统、汇编程序设计、集成开发环境、在线调试工具、定时器、中断...
FANUC伺服调整步骤涉及的内容十分广泛,包含基础篇的伺服调整、高速高精度伺服参数的设定、TuningNavigator(调整导航器)的使用、加/减速的调整、圆弧和四角的调整以及HRV3控制相关的操作等。以下是对文档中提及...
本篇将围绕“如何做性能测试报告”这一主题,结合源码分析和工具应用,详细探讨报告的制作过程与关键要素。 一、性能测试的目标与范围 在开始性能测试之前,明确测试目标至关重要。这可能包括响应时间、并发用户数...
List同样提供了O(1)的索引访问,由于其泛型特性,避免了装箱和拆箱操作,提高了性能。在大多数情况下,List是处理索引操作的最佳选择。 再者,Hashtable是键值对存储的非排序集合,它不支持索引访问。要获取特定值...
然而,随着硬件资源的限制和网络流量的剧增,如何在有限的硬件条件下优化性能,尤其是提高Linux操作系统协议栈的转发性能,成为了一个重要的研究课题。 Linux协议栈是操作系统的核心组成部分,负责处理网络数据包的...
本篇将围绕"一种用于内灌混凝土快速浇筑的钢柱操作平台"的设计装置进行详细探讨。 标题中的“设计装置”指的是为优化混凝土浇筑工艺而研发的一种创新设备,它专门针对钢柱的内灌混凝土过程,旨在提高施工速度和质量...