HTML&DOM
一.我对于HTML的认识
超文本标记语言,标准通用标记语言下的一个应用。
“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。
超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容 –百度百科
上述基本上毫无用处,相对于web三剑客(HTML,ECMAScript,CSS),它们各自负责解决结构(Structure)表现(Presentation)和行为(Behavior)三个层面,HTML负责的便是解决结构层(Structure),所以在我看来HTML并不能称为一种语言,因为HTML本身就是一种数据存储格式,这种数据格式可以被浏览器识别并渲染.
浏览器首先先渲染HTML标签的默认样式,然后在通过CSS内的选择器找到对应标签加以渲染,替换掉HTML标签默认属性,这就是为什么提倡使用H5的语义化标签,因为在某些时候CSS样式读取阻断,或者缓慢,那么页面还能保持默认的该有的样式,这样能加大用户体验.
但是这方面国内似乎做的并不到位,我现在是在做移动端开发,有些时候老一点的机型还会出现不适配的情况,这时候我所依赖的语义化标签不会被解析,默认变成一个和div一样的块级元素,现在开发情况基本上就是div+span循环嵌套,心塞塞.一次生产问题我就在也没有用过H5新语义化标签了,div+span虽然暴力 贵在稳定 (っ*´Д`)っ
二.DOM 盗墓学
1.节点点
大多数我会把HTML当做数据文件,CSS当做配置文件这两个东西傻傻的也比较好学,基本上就没有什么理解难度,难度在于当浏览器渲染之后HTML的DOM操作,可以说非常赤鸡了
既然说HTML是一种数据文件,那么HTML就有自己的数据结构,HTML内每一个组成结构的内容将被会划分,以便区分层级结构和数据位置关系,这就是为什么XML要比Json拥有更加直观的层级结构和数据位置关系.
<html>
<head>
<mate name="xxx"></mate>
<mate></mate>
</head>
<body>
<div>111</div>
<div>222</div>
</body>
</