【DOM编程艺术】谈web设计

谈到web设计,最准确的理解是把网页看成三个层:

(1)结构层

(2)样式层

(3)行为层

这三个层分别对应不同的技术,分别是:

(1)超文本标记语言(HTML)

(2)层叠样式表(CSS)

(3)Javascript和文档对象模型(DOM)

没错,你可以说还能加一层,也就是浏览器的Javascript API,包括cookie和window等。

      但随着HTML5的到来,上面所说的结构层、样式层和行为层(以及浏览器中的Javascript API)已经被整装到一个集合中,

不过也仅仅就是一个集合。

  HTML5在这个集合中提供了几种旗鼓相当的技术,让我们可以按需取用或者调用。

     例如:在结构层中,HTML5添加了新的标记元素,如<section>、<article>、<header>和<footer>。

                              HTML5提供了更多交互及媒体元素,如<canvas>、<audio>和<video>。

           表单得到了加强,新增了颜色拾取器,数据选择器、滑动条和进度条。

           除此之外,你会发现其中很多新元素都还带有自己的Javascript和DOM API。

              在行为层中,HTML5规定了DOM中每个新元素的交互方式,以及新的API。

                               例如,我们可以自定义<video>元素的控件,改变其播放方式

                                        <form>元素则支持进度控制

              而在<canvas>元素中,可以绘制各种图形和添加图片及其他图像。

     在表示层中,css3的多个模块囊括了高级选择器、渐变、交换,还有动画。

              最后,新Javascript API 还包括很多模块,比如Geolocation、Storage、Drap-and-Drop、Socket以及多线程等。

              推荐一个工具:Modernizr 以测试浏览器是否支持某些特性

     使用Modernizr非常简单,将在文档的<head>中添加该脚本:<script src='modernizr.js'></script>

     解析:一定要把这个脚本放在<head>元素中,虽然这与之前建议的不一致,但这样做有特殊的原因:

        把Modernizr放在文档的开头,可以在加载其他标记之前先加载它,以便它在文档呈现之前能够创建好新的HTML5元素。

        要是把它放到了文档的末尾,那么等不到Modernizr发挥作用,浏览器就已经开始呈现文档并应用样式了。

原文地址:https://www.cnblogs.com/positive/p/3683932.html