代码符合标准
  • 标准的页面会保证正确的渲染
  • 页面容易被搜索引擎搜索,提高搜索排名(SEO)
  • 提高网站的易用性
  • 网页更好维护和扩展(Validator,HTML Validator 属于Firefox插件)
停止使用不标准的标签和属性,简化HTML代码
  • 标签没有实际意义,仅设置样式(不推荐使用)
  • 不推荐使用blink,marquee
  • 让HTML拥有更好的语义
  • 移除不常用的HTML标签
样式和结构分离
  • HTML页面链接一个CSS(最优),提高加载速度
  • HTML内嵌CSS(单一页面最佳,减少加载CSS样式文件的请求数目,加快加载速度
  • 内联CSS样式,可以使用JS动态来统一修改,很少使用,JQ中使用其实现动画效果
  • 在CSS样式文件中引用CSS文件,避免使用
添加JS禁用提示信息
  • 使用noscrpt,HTML4只在body中起作用,HTML5中可以出现在head中,支持HTML,不支持XHTML
  • 最好使用noscript,采用渐进增强的模式,平稳降级
添加必要的meta的标签
  • meta的属性:name,http-equiv,content,charset
  • name和content属性组合,构成名称/值对
  • name中keywords,description最常用
  • http-equiv和content属性结合,构成http命令
  • 其中content-type,default-style,refresh已经确定,content-language,set-cookie 未正式确定
  • charset设置编码
常用的meta方法
  • 设置IE浏览器的兼容性
  • 设置页面在移动设备中的显示
  • 设置IE浏览器的固定网站功能
HTML语义化
  • 语义化使搜索引擎和第三方抓取工具更容易读懂代码
  • 去掉CSS也可以保持良好的外观
  • div,span尽量少使用
  • 把无关的元素重HTML中删除
  • 添加一些隐藏文字
  • 要求:

    • 熟悉所有规范中的HTML标签,理解各标签的语义
    • 熟悉各标签上规范的属性,给HTML标签设置必要的属性
    • 样式和结构的分离
  • 构建页面标题的最佳实践:

    • 使用hx标签
    • 页面只是使用一个h1
    • hx使用过程中不要跳级
    • 不要使用hx设置样式
  • 设计表单:

    • 使用label标签,并设置label标签的for属性
    • 给输入控件设置合适的水印提示
    • 输入控件设置tab顺序
    • 使用HTML5中引入的表单控件
HTML5新特性使用
  • async和defer属性

    • 不使用在内联里面
    • defer:以并行的方式下载脚本,而不是阻塞的方式下载,在脚本加载完成后,浏览器会在DOM触发之前按照引用顺序运行JS
    • async:以异步的方式下载脚本,在下载结束后立即执行代码,而不会等待页面解析结束
    • 在设置async时候,推荐同时设置defer属性,提高脚本加载执行的性能
  • 标签上的自定义属性data-*
  • script可以编写HTML模板和XML数据
选择器注意
  • 尽量不使用ID选择器
  • 减少子选择器的层级(less和Sass的滥用)
  • 使用组合CSS类选择器

兼容IE浏览器
  • 兼容旧浏览器的代码,被称为hack代码
  • 熟悉IE浏览器中常见的兼容样式
  • 分离样式兼容代码

    .color{ _color:green;}  ( IE6 (含 IE6 ) 以下)
    
    .color{ *color:gray; }  ( IE7 ( 含 IE7 )以下)
    
    .color { color:green \0; } ( IE8 + )
    
    .color { color:green \ ; }   ( IE8 . IE9 )
    
    :root .color { color:green \0; } ( IE9 + )
    
    .color { color:green \9\0; }   ( IE9+ )
    
    .color { color:green \9; }   ( IE10 ( 含 IE10 ) 以下 )
    
    *::-ms-backdrop, .color{ color:red; }   ( IE11 )
    
    * html .color { color: red; } (IE6 ONLY )
    
    *+html .color { color: red; } ( IE7 ONLY )
    
    @media screen\9 {
    .color { color: black; }
    } ( IE6 . IE7 )
    @media \0screen {
    .color { color: black; }
    } ( IE8 ONLY )
    @media \0screen, screen\9 {
    .color { color: black; }
    } ( IE6 . IE7 . IE8 )
    @media screen\0 {
    .color { color: black; }
    } ( IE8 . IE9 . IE10 )
    @media screen and (min-width: 0\0) {
    .color { color: black; }
    } ( IE9 . IE10 ) @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .color { color: black; }
    } ( IE10 ONLY ) @media all and (-ms-high-contrast:none){
    .color { color:greeny \0; }
    } ( IE10 + ) @media all and (-ms-high-contrast:none){
    *::-ms-backdrop, .color { color:green \0; }
    } ( IE11 + )
em,px,%
  • px:绝对尺寸,em:应用元素上字体大小的两倍,%:相对于父元素的百分比
  • 尽量设置相对尺寸
  • 只有在可预知元素尺寸的情况下才使用绝对尺寸
  • 使用em设置字体的大小

Web最佳实践阅读总结(2)的更多相关文章

  1. Web最佳实践阅读总结(1)

    介绍 最近开始刷一些书和题,此系列是介绍在读Web最佳实践的一些收获和体会. web前端发展现状 存在问题: 代码组织混乱 代码格式的问题突出 页面布局随意 网站整体性能差,没有意识到应用诸如缓存,动 ...

  2. PHP-PHP核心技术与最佳实践阅读

    1.对象的实质: 对象就是数据, 对象本身不包含方法, 但是对象有一个"指针"指向一个类, 这个类里可以有方法 2.反射是指在PHP运行状态中, 扩展分析PHP程序, 导出或者提取 ...

  3. Web 前端最佳实践

    Web 最佳实践   前端   选择器 尽量使用ID选择器 基于Id的选择器:先使用ID选择器定位,然后再使用find方法精确查找   // Fast: $( "#container div ...

  4. 【转】优化Web程序的最佳实践

    自动排版有点乱,看着蛋疼,建议下载中文PDF版阅读或阅读英文原文. Yahoo!的Exceptional Performance团队为改善Web性能带来最佳实践.他们为此进行了 一系列的实验.开发了各 ...

  5. Web前端优化最佳实践及工具集锦

    Web前端优化最佳实践及工具集锦 发表于2013-09-23 19:47| 21315次阅读| 来源Googe & Yahoo| 118 条评论| 作者王果 编译 Web优化Google雅虎P ...

  6. 【Web前端开发最佳实践系列】前端代码推荐和建议

    一.常用的前端文件的组织结构: 1.js (放置JavaScript代码) lib(放置框架JavaScript文件) custom.js 2.css(放置CSS样式代码) lib(放置框架CSS文件 ...

  7. 《modern-php》 - 阅读笔记 - 最佳实践

    过滤.验证和转义数据 过滤数据 不要相信任何外部数据! 常见的有以下几种数据需要过滤:HTML,SQL查询,用户提交的信息(邮件地址.电话号码.身份证) HTML htmlentities() HTM ...

  8. JavaScript Web 应用最佳实践分析

    [编者按]本文作者为 Mathias Schäfer,旨在回顾在客户端大量使用JavaScript 的最佳 Web应用实践.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 对笔者来说,Jav ...

  9. 【社区公益】送《Web前端开发最佳实践》给需要的人

    算起来至今,我进入软件开发行业已经有11年之久.从最初的研究人工智能,到后来的Web开发,控件开发,直到现在纯粹的Web前端开发.虽然没有大的作品问世,但也是勤勤恳恳,踏实做事,低调做人.从来不吹牛逼 ...

随机推荐

  1. spring 方法注入、方法替换

    spring 提供了很多的注入方式,set注入.构造注入.p命名空间.c命名空间.字段注入等等,这些没啥可说的了. 方法注入 因为开发时我需要spring管理一个实例,但是这个实例并非单例,应该每一次 ...

  2. poj-2828 Buy Tickets(线段树,排队问题,逆向思维)

    题目地址:POJ 2828 Buy Tickets Description Railway tickets were difficult to buy around the Lunar New Yea ...

  3. curl查看请求你响应时间

    [root@localhost ~]# curl -o /dev/null -s -w time_namelookup:%{time_namelookup}"\n"time_con ...

  4. CLOUD信用管理设置

    1.参数设置(管理员账户) 2.客户管理-信用管理设置 3.信用检查规则设置 4.信用档案设置 5.涉及集团公司,母公司与子公司的设置 6.信用档案-对象类型可为客户及集团客户 7.信用特批权限设置 ...

  5. 吴裕雄--天生自然 python开发学习:在Cenos 7 系统上安装配置python3.6.5

    安装相关依赖包. 在终端下输入命令:sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-deve ...

  6. docker 不同引擎导致历史垃圾镜像无法自动清除,致硬盘空间报警

    查看硬盘占用大户是/var/lib/docker/vfs/dir 直觉是images文件,历史原因累积了大量的image docker rmi 清除掉不用的image文件 可用空间有提升但提升不大 / ...

  7. maxquant|

    使用maxquant 设定修饰: 设定打分值: 设定有标定量方法:iBAQ,虽然是无标定量方法,但是设定该值后也会有相应有标定量方法的iBAQ值. 根据计算机性能设定线程数: 设定酶切位点 最后生成文 ...

  8. Eclipse创建java web工程

    Eclipse创建java web工程 eclipse版本:eclipse-jee-4.5-win32-x64 tomcat版本:apache-tomcat-7.0.63-windows-x64 jd ...

  9. 吴裕雄--天生自然python学习笔记:案例:用正则表达式查找邮件账号

    抓取万水书苑“ ht甲://www.w sbookshow.com/ ”网站中的所有 E-mai l 账号. import requests,re regex = re.compile('[a-zA- ...

  10. Cortana携手微软学术搜索,变身研究人员最佳个人助理

    编者按:在美国时间7月14日于微软总部雷蒙德召开的2014年微软教育峰会上,负责技术与研究的微软全球执行副总裁沈向洋博士在他的开幕主题演讲中正式宣布,Windows Phone 8.1系统中的虚拟个人 ...