关于web标准
从我去年接触前端,到现在,我似乎都没有特意去研究过web标准。我只知道传统上推崇结构样式行为分离,js、css、html各司其职,
不推荐在文档的节点上写类似<p onclick=“fn()”>的事件绑定,而是js中获取节点再绑定事件;
不推荐在js里操作css样式,而是通过改变DOM节点的类名实现效果,等等。
这些都是实践中大家遵循的“规范”,然而Web标准,实际上说了哪些内容?
为什么会有WEB标准?
W3C提到:
由于存在不同的浏览器版本,web 开发者常常需要为耗时的多版本开发而艰苦工作。当新的硬件(比如移动电话)和软件(比如微浏览器)开始浏览 web 时,这种情况开始会变得更加严重。
为了 web 更好地发展,对于开发人员和最终用户而言非常重要的事情是,在开发新的应用程序时,浏览器开发商和站点开发商共同遵守标准。
web 的不断壮大,使得越来越有必要依靠标准实现其全部潜力。web 标准可确保每个人都有权利访问相同的信息。如果没有 web 标准,那么未来的 web 应用,包括我们所梦想的应用程序,都是不可能实现的。
同时,Web 标准也可以使站点开发更快捷,更令人愉快。为了缩短开发和维护时间,未来的网站将不得不根据标准来进行编码。开发人员不必为了得到相同的结果,而挣扎于多版本的开发。
嗯,所以说白了就是为了 消除各大厂商在实现web功能时各行其是导致的浏览器兼容性问题。
在开发者层面上,则是让开发者的代码可以在不同厂商、不同版本的客户端被正常访问。
突然想到最近看到的一些公司的招聘还要求兼容IE5、IE6,我就一阵哆嗦。
WEB标准有哪些东西?
百度上说
WEB标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。
所以,当我们在学习前端三把剑的时候,我们已经在不知不觉地遵守了部分WEB标准,因为标记语言、脚本语言本身也在不断标准化。
当我们开始学习html的时候,书本上、教程网站上会告诉我们:
html标签往往是成对存在的,标签要闭合,像<img /> <br />这样的标签要加“/”表示闭合。
标签名要小写,html特性大小写不敏感,特性的值要加双引号。
這些是结构层面的标准。
事实上,至今的WEB标准还真不少:HTML4.0(当然现在大家更多提到的是H5)、css2.0、xhtml1.0(号称更严谨的html),ECMAScript等等。
但是标准并不等于事实标准。
因为标准中的一些较新内容并未有被各个浏览器实现。
像ES6,和ES5相比确实有些激进,以至于像promise、解构赋值之类的,只有部分浏览器原生实现了。所以大家不得不通过babel转码。
而作为开发者,我们更多时候只要遵循语言本身的规范,合理使用标记语言,让标签语义化,在构建页面时遵循三者分离,在写逻辑时少用兼容性不好的api,页面就挺符合web标准了。
另外,当我们说web标准兼容性好时,其实指的是向后兼容性好。对于旧版本的浏览器,支撑成度不一,所以有时候我们想使用一些新api时,需要给页面代码添加polyfill。
关于web标准的更多相关文章
- web标准之道——笔记
字体设置 sans和sans-serif为通用字体,具体哪个字体被最终应用由浏览器决定,通用字体只有在其他字体都无效时才会被当作代替方案.通用字体应该放在最后面 sans衬线字体 容易阅读,一般使用在 ...
- 【转载】跟随 Web 标准探究DOM -- Node 与 Element 的遍历
跟随 Web 标准探究DOM -- Node 与 Element 的遍历 这个是 Joyee 2014年更新的,可能是转战github缘故,一年多没有跟新了.这篇感觉还挺全面,就转载过来,如以前文章一 ...
- 深入理解Web标准(网站标准)
深入理解Web标准(网站标准) 我觉得一名Web前端应该好好理解Web标准到底是什么,为什么要在我们的实际实践中遵循Web标准. 什么是Web标准.百度百科的解释是: WEB标准不是某一个标准,而 ...
- 我所理解的RESTful Web API [Web标准篇]
REST不是一个标准,而是一种软件应用架构风格.基于SOAP的Web服务采用RPC架构,如果说RPC是一种面向操作的架构风格,而REST则是一种面向资源的架构风格.REST是目前业界更为推崇的构建新一 ...
- asp.net开发与web标准的冲突问题
Visual Studio .net从2003到现在的2008,一路走来慢慢强大……从以前的vs2003能自动改乱你的html代码到现在在vs2008中都能直接对html代码进行w3c标准验证并提示了 ...
- 对WEB标准以及W3C的理解与认识
按照习惯的理解,这两个概念似乎都是指的一个东西(就是咱们在这个版里讨论的这些个"高深理论“^_^).但我认为,事实上从技术的角度上讲,这两个事物几乎没有任何相关性.web标准简而言之就是将页 ...
- 细谈WEB标准
最近有些朋友很是疑惑web标准是什么,我在这里先做一个总结,有更好的见解的可以私信给我! 首先切入正题之前先谈一下什么叫DOCTYPE,DOCTYPE是document type(文档类型)的简写,主 ...
- Web标准中用于改善Web应用程序性能的各种方法总结
提起Web应用程序中的性能改善,广大开发者们可能会想到JavaScript与DOM访问等基于各种既存技术的性能改善方法.最近,各种性能改善方法被汇总成为一个Web标准. 本文对Web标准中所包含的各种 ...
- Web标准和搜索引擎优化技术
1.Web标准不是某一个标准,而是一系列标准的集合.出来网页内容之外,网页主要由三部分组成:结构(Structure).表现(Presenttation)和行为(Behavior).对应的标准也分三方 ...
- 对Web标准的理解。可用性和可访问性
一Web标准 简单的说,就是HTML.CSS.JavaScript这三者分离.WEB标准不是某一个标准,而是一系列标准的集合.网页主要由三部分组成:结构(Structure).表现(Presentat ...
随机推荐
- Java 基础之详解 Java IO
Java IO基本概念 Java IO:即Java输入/输出系统,区分Java的输入和输出:把自己当成程序, 当你从外边读数据到自己这里就用输入(InputStream/Reader), 向外边写数据 ...
- thinkphp5--多文件入口设置
来源:http://www.cnblogs.com/walblog/p/8035426.html 今天在用tp5做项目的时候发现,前台是可以绑定默认到index模块的,但是后台不好弄,于是查了一下手册 ...
- thinkphp5.0--auth权限
一般auth权限有四个表: think_admin:注册表, think_auth_group_access:用户组明细表(关联), think_auth_group:用户组表, think_arut ...
- str_pad 和 filter_var
这两个函数都是php内置函数,filter_var可直接过滤,比如邮箱,ip等,str_pad可补充字符串eg: 1 => 001
- Docker安装yapi
安装docker 1.安装依赖包: yum install -y yum-utils device-mapper-persistent-data lvm2 2.安装 Yum -y install do ...
- JAVA进程CPU高的解决方法
无限循环的while会导致CPU使用率飙升吗?经常使用Young GC会导致CPU占用率飙升吗?具有大量线程的应用程序的CPU使用率是否较高?CPU使用率高的应用程序的线程数是多少?处于BLOCKED ...
- VR全景视图 Google VrPanoramaView
2019独角兽企业重金招聘Python工程师标准>>> 一.背景简介 Welcome to VR at Google 进入Google VR主页,发现官方给我们提供了两套解决观看VR ...
- INTERVIEW #2
吐槽下ZZ的面试安排:面试时间12:30不说了,周围没有饭店,中午就没吃饭...不像其他公司给每个人安排不同的面试时间,这样可以节约大家的时间,SPDB是把一大批人都安排在了12:30,而且面试是5个 ...
- 代码,绘画,设计常用的颜色名称-16进制HEX编码-RGB编码 对照一览表
排列方式,英文名称的字典序 颜色名 HEX16进制编码 RGB编码 AliceBlue F0F8FF 240,248,255 AntiqueWhite FAEBD7 250,235,215 Aqua ...
- 图论--拓扑排序--判断是否为DAG图
#include<cstdio> #include<cstring> #include<vector> #include<queue> using na ...