前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >熟悉w3c标准_w3c规则

熟悉w3c标准_w3c规则

作者头像
全栈程序员站长
发布于 2022-09-30 12:37:27
发布于 2022-09-30 12:37:27
76902
代码可运行
举报
运行总次数:2
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

简介

    万维网联盟(外语缩写:W3C)标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括 XHTML 和 XML,表现标准语言主要包括 CSS,行为标准主要包括对象模型(如 W3C DOM)、ECMAScript 等。这些标准大部分由万维网联盟(外语缩写:W3C)起草和发布,也有一些是其他标准组织制订的标准,比如 ECMA(European Computer Manufacturers Association)的 ECMAScript 标准。

标准规范

1. 声明文档类型(DOCTYPE)

    DOCTYPE(document type)文档类型的简写,用来说明你用的 XHTML 或者 HTML 是什么版本。其中DTD 叫文档类型定义,里面包含了文档的规则,浏览器就根据你定义的 DTD 来解释你页面的标识,并展现出来。要建立符合标准的网页,DOCTYPE 声明是必不可少的关键组成部分;除非你的 XHTML 确定了一个正确的 DOCTYPE,否则你的标识和 CSS 都不会生效。 DTD声明有三种,过度的(Transitional)、严格的(strict)、框架的(frameset)

过度的: 要求非常宽松的 DTD,它允许你继续使用 HTML4.01 的标识(但是要符合 XHTML 的写法)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

严格的: 要求严格的DTD,你不能使用任何表现层的标识和属性,例如 <br>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

框架的: 专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

注意: DOCTYPE 声明必须放在每一个 XHTML 文档最顶部,在所有代码和标识之上

2. 定义语言编码

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

注意: 如果忘记了定义语言编码,可能会出现页面乱码现象

3. 定义Javascript

    JS 必须要用 <script language="javascript" type="text/javascript"> 来定义开头,以保证在不支持 JS 的浏览器上不会直接显示出代码来

4. 定义CSS

    CSS 必须要用 <style type="text/css"> 来定义开头,为保证各浏览器的兼容性,在写 CSS 时请都写上数量单位

5. 注释内不要使用 “-“

    这样写 <!-- 这是注释---------这是注释 --> 是无效的,可以写成 <!-- 这是注释===========这是注释 -->

6. 所有标签的元素和属性名字都必须使用小写

    XHTML 与 HTML 不一样,XHTML 对大小写是敏感的。<title></title><TITLE></TITLE> 是不同的标签。而XHTML要求所有的标签和属性的名字都必须使用小写,大小写夹杂也是不被认可的

7. 所有的属性的值必须用引号 ” ” 或者 ’ ’ 括起来

    在 HTML中,你可以不需要给属性值加引号,但是在 XHTML 中,它们必须要加引号。例如:<height=80> 必须修改为:<height="80">

8. 所有特殊符号用编码表示

    空格为&nbsp;、小于号(<)&lt、大于号(>)&gt、与号 & 、©号 &copy;

9. 所有属性必须有属性值

    XHTML 规定所有属性都必须有个值,没有值就是重复本身。<input type="checkbox" checked> 须改为:<input type="checkbox" checked="checked">

10. 所有的标记都必须要有一个相应的结束标记,也就是说标签必须闭合

    在 HTML 中你可以写多个标签而不关闭它,如写 <p> 但是不写 </p>,但是在 XHTML 中是不合法的,XHTML 要求有严谨的结构,所有标签必须是闭合的。如果有单独不成对的标签,要加 / 来关闭。 例如 ![在这里插入图片描述]()

11. 所有的标记都必须合理嵌套

<p><b></p></b> 须改为:<p><b></b></p>

12. 图片要添加 alt 属性和 title 属性

[外链图片转存失败(img-pEDt4Ro1-1562060566315)(https://mp.csdn.net/mdeditor/93874558)]

13. 在 form 表单中增加 label,以提高用户体验

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<form>
  <label for="name"> 用户名: </label>
  <input type="text" id="name" />
</form>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192487.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月17日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
lodash源码分析之缓存方式的选择
本文为读 lodash 源码的第八篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash
对角另一面
2018/01/22
1.1K0
lodash源码分析之List缓存
本文为读 lodash 源码的第七篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash
对角另一面
2018/01/17
1.1K0
lodash源码分析之缓存方式的选择
每个人心里都有一团火,路过的人只看到烟。 ——《至爱梵高·星空之谜》 本文为读 lodash 源码的第八篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash gitbook也会同步仓库的更新,gitbook地址:pocket-lodash 前言 在《lodash源码分析之Hash缓存》和《lodash源码分析之List缓存》介绍了 lodash 的两种缓存方式,这两种缓存方式都实现了和 Map 一致的数据管理接口,其中 List 缓存只在不支持 Map 的环境中使用,那何时使用 H
对角另一面
2018/03/30
1.2K0
lodash源码分析之Hash缓存
本文为读 lodash 源码的第四篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash
对角另一面
2018/01/17
1.1K0
lodash源码分析之Hash缓存
在那小小的梦的暖阁,我为你收藏起整个季节的烟雨。 ——洛夫《灵河》 本文为读 lodash 源码的第四篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash gitbook也会同步仓库的更新,gitbook地址:pocket-lodash 作用与用法 Hash 顾名思义,就是要有一个离散的序列,根据 key 来储取数据。而在 javascript 中,最适合的无疑是对象了。 Hash 在 lodash 的 .internal 文件夹中,作为内部文件来使用。lodash 会根据不同的数
对角另一面
2018/03/30
1.1K0
lodash源码分析之数组的差集
外部世界那些破旧与贫困的样子,可以使我内心世界得到平衡。 ——卡尔维诺《烟云》 本文为读 lodash 源码的第十七篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash gitbook也会同步仓库的更新,gitbook地址:pocket-lodash 作用与用法 baseDifference 可以用来获取指定数组与另一个数组的差集。 这个函数是内部函数,是后面实现其它比较函数的核心函数。 baseDifference 的方法签名如下: baseDifference(array, v
对角另一面
2018/03/30
2.4K0
lodash源码分析之compact中的遍历
对角另一面
2017/12/27
1.1K0
lodash源码分析之compact中的遍历
本文为读 lodash 源码的第三篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash
对角另一面
2018/01/17
8840
lodash源码分析之自减的两种形式
本文为读 lodash 源码的第六篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash
对角另一面
2018/01/17
7330
lodash源码分析之NaN不是NaN
本文为读 lodash 源码的第五篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash
对角另一面
2018/01/17
1.9K0
lodash源码分析之获取数据类型
所有的悲伤,总会留下一丝欢乐的线索,所有的遗憾,总会留下一处完美的角落,我在冰峰的深海,寻找希望的缺口,却在惊醒时,瞥见绝美的阳光! ——几米 本文为读 lodash 源码的第十八篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash gitbook也会同步仓库的更新,gitbook地址:pocket-lodash 作用与用法 我们都知道,可以借用 Object 原型上的 toString 方法来获取数据的类型。 baseGetTag 利用的也是这一特性,其返回的结果如 [obj
对角另一面
2018/04/19
9180
读lodash源码之从slice看稀疏数组与密集数组
对角另一面
2017/12/27
1.2K0
lodash源码分析之baseFindIndex中的运算符优先级
本文为读 lodash 源码的第十篇,后续文章会更新到这个仓库中,欢迎 star:pocket-lodash
对角另一面
2018/02/05
7540
学习 lodash 源码整体架构,打造属于自己的函数式编程类库
这是 学习源码整体架构系列第三篇。整体架构这词语好像有点大,姑且就算是源码整体结构吧,主要就是学习是代码整体结构,不深究其他不是主线的具体函数的实现。文章学习的是打包整合后的代码,不是实际仓库中的拆分的代码。
ConardLi
2019/09/17
2.4K0
学习 lodash 源码整体架构,打造属于自己的函数式编程类库
lodash源码分析之chunk的尺与刀
以不正义开始的事情,必须用罪恶使它巩固。 ——莎士比亚《麦克白》 最近很多事似乎印证了这句话,一句谎言最后要用一百句谎言来圆谎。 本文为读 lodash 源码的第二篇,后续文章会更新到这个仓库
对角另一面
2017/12/27
8310
内功修炼之lodash—— clone&cloneDeep(一定有你遗漏的js基础知识)
本文实现方法都是看效果倒推实现方法,并进行一些拓展和思考,和源码无关。lodash这个库在这里更像一个题库,给我们刷题的
lhyt
2019/11/19
5.5K0
大厂面试:JavaScript各种源码解析
func 是要调用的函数,是由 context 调用,func 的指向 context,所以关注点在 context 指向
Javanx
2019/09/04
7400
vue源码中值得学习的方法
作者:chinamasters https://segmentfault.com/a/1190000025157159
桃翁
2020/10/23
7470
vue源码中值得学习的方法
lodash源码分析之_.range
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/j_bleach/article/details/72824386
j_bleach
2019/07/02
7350
哈希表
哈希表,又叫散列表,是数据结构的一种。 散列表用途很广泛,比如一个电话薄,每一个姓名对应一个电话号码。姓名与电话号码呈映射关系。假如要创建一个电话薄,可以使用 JavaScript 对象来实现。
多云转晴
2019/10/30
9350
哈希表
相关推荐
lodash源码分析之缓存方式的选择
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验