《高性能网站建设指南》阅读笔记_规则5- 将样式放在顶部
来源:互联网 发布:京东广告部算法岗位 编辑:程序博客网 时间:2024/04/30 07:53
首先书中提到了可视化反馈的重要性,一个很常见的例子就是进度指示器:
在我们这里,HTML页面就相当于进度指示器,当浏览器逐步的加载页面时,页头,导航栏等,所有这些为等待页面的用户提供视觉反馈。按照作者的意思:在IE中将样式表放在底部,可能会导致白屏或者是无样式内容的闪烁。白屏是由于浏览器要等待css下载完再显示页面的组件,所以在等待css下载的时候页面就是白屏。无样式的闪烁是由于先下载页面的组件比如文字图片,并逐步显示,等css下载完则需要应用新的css样式渲染,就产生了这种无样式的闪烁现象。
Css在底部:http://stevesouders.com/hpws/css-bottom.php
Css在顶部:http://stevesouders.com/hpws/css-top.php
用@import方式:http://stevesouders.com/hpws/css-top-import.php
无样式内容的闪烁:http://stevesouders.com/hpws/css-fouc.php
但按我的测试,虽然说白屏现象只有在ie下页面加载时偶尔才会出现,但是前两个我测试不出他说的这种情况。这条规则的说服力对我来说不是很大。后两个效果还是很明显的。
需要说明的一点是,不管样式放在那里并不会影响加载页面的时间,而影响的是浏览器对这些组件顺序的反应,如下图:
有些用户感觉缓慢的页面反而加载的更快,这就是视觉化反馈的重要性。如果真的产生了白屏,用户就会因为不知道发生了什么而离开,去投奔竞争对手。
还有,根据上面第三个连接,作者提出:
1. 使用@import方法必须放在<style>标签的顶部。
2. 即使@import方法放在了<head>标签中,它所指定的样式表文件却依然是最后下载的。
所以,不推荐使用@import方法加载CSS样式表,而推荐使用<link>标签将CSS样式表放在文档的<head>中。推荐使用shtml页面,这样我们在修改样式以后就不用修改页面了。
- 《高性能网站建设指南》阅读笔记_规则5- 将样式放在顶部
- 《高性能网站建设指南》阅读笔记_规则6- 将脚本放在底部
- 《高性能网站建设指南-前端工程师技能精髓》-读书笔记4(将样式表放在顶部)
- 《高性能网站建设指南》阅读笔记_规则1-减少HTTP请求
- 《高性能网站建设指南》阅读笔记_规则2- 使用内容发布网络
- 《高性能网站建设指南》阅读笔记_规则3- 添加Expires头
- 《高性能网站建设指南》阅读笔记_规则4- 压缩组件
- 《高性能网站建设指南》阅读笔记_规则7- 避免CSS表达式
- 《高性能网站建设指南》阅读笔记_规则8- 使用外部javascript和css
- 《高性能网站建设指南》阅读笔记_规则9- 减少DNS查找
- 《高性能网站建设指南》阅读笔记_规则10- 精简javascript
- 《高性能网站建设指南》阅读笔记_规则11- 避免重定向
- 《高性能网站建设指南》阅读笔记_规则12- 移除重复脚本
- 《高性能网站建设指南》阅读笔记_规则13- 配置ETag
- 《高性能网站建设指南》阅读笔记_规则14- 使Ajax可缓存
- 《高性能网站建设进阶指南》阅读笔记 1
- 《高性能网站建设进阶指南》阅读笔记 2
- 《高性能网站建设进阶指南》阅读笔记 3
- WPF菜单快捷方式怎么设置
- 如何解决 "Powered by ECShop"每次显示的位置都不同的问题
- 求素数方法
- PowerDesigner 工具生成数据库Report指导
- poj 2739 Sum of Consecutive Prime Numbers
- 《高性能网站建设指南》阅读笔记_规则5- 将样式放在顶部
- ecshop实现后台二次开发后功能模块仍然可以分配权限
- java web项目整体异常处理机制
- EBS中二次开发FSG报表2(SQL)
- 优化SQL Server的内存占用之执行缓存
- libxml/tree.h not found(xcode4.5解决方案)
- hibernate学习笔记1
- ecshop之transport和jquery冲突之完美解决方案
- PhoneGap入门经典——理解PhoneGap应用程序基础