布达拉格没有眼泪

导航

HTML5和CSS3的一些新特性

html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML HTML5

新特性:

1. 拖拽释放(Drag and drop)

2. 语义化更好的内容标签(header,nav,footer,aside,article,section

3. 音频、视频API(audio,video)

4. 画布(Canvas)

5. 地理(Geolocation)

6. 本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;

7. sessionStorage 的数据在浏览器关闭后自动删除

8. 表单控件,calendardatetimeemailurlsearch  

9. 新的技术webworker, websocket, Geolocation

移除的元素:

1. 纯表现的元素:basefontbigcenterfont, sstrikettu

2. 对可用性产生负面影响的元素:frameframesetnoframes

支持HTML5新标签:

1. IE8/IE7/IE6支持通过 document.createElement 方法产生的标签,可以利用这一特性让这些浏览器支持 HTML5 新标签,浏览器支持新标签后,还需要添加标签默认的样式(当然最好的方式是直接使用成熟的框架、使用最多的是html5shim框架):

<!--[if lt IE 9]>

<script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script>

<![endif]-->

如何区分:DOCTYPE声明新增的结构元素、功能元素

HTML5 引入什么新的表单属性?

Datalist   datetime   output   keygen  date  month  week  time  number   range   emailurl

 

 

CSS3新特性有那些?

1. CSS3实现圆角(border-radius),阴影(box-shadow),
2. 对文字加特效(text-shadow、),线性渐变(gradient),旋转(transform)
3. transform:rotate(9deg) scale(0.85,0.90) translate(0px,-30px) skew(-9deg,0deg);// 旋转,缩放,定位,倾斜
4. 增加了更多的CSS选择器  多背景 rgba 
5. 在CSS3中唯一引入的伪元素是 ::selection.
6. 媒体查询,多栏布局
7. border-image

CSS3新增伪类有那些?

 p:first-of-type 选择属于其父元素的首个 <p> 元素的每个 <p> 元素。

 p:last-of-type  选择属于其父元素的最后 <p> 元素的每个 <p> 元素。

 p:only-of-type  选择属于其父元素唯一的 <p> 元素的每个 <p> 元素。

 p:only-child    选择属于其父元素的唯一子元素的每个 <p> 元素。

 p:nth-child(2)  选择属于其父元素的第二个子元素的每个 <p> 元素。

 :enabled:disabled 控制表单控件的禁用状态。

:checked,单选框或复选框被选中。

如何在 HTML5 页面中嵌入音频?

<audio controls>

  <source src="jamshed.mp3" type="audio/mpeg">

   Your browser does'nt support audio embedding feature.

</audio>

如何在 HTML5 页面中嵌入视频?

<video width="450" height="340" controls>

  <source src="jamshed.mp4" type="video/mp4">

   Your browser does'nt support video embedding feature.

</video> 

Canvas和SVG的区别?

Canvas和SVG是html5支持的两种可视化技术。基于这两种技术,诞生了很多可视化工具。

Echarts是基于Canvas技术的可视化工具,底层封装了原生的JavaScript的绘图 API。我们很容易联想到另一个同样很优秀的web前端可视化库D3,D3是也最流行的可视化库之一,它被很多其他的表格插件所使用。D3底层基于SVG技术,与Canvas完全不一样,SVG的本质是一个XML 文档。

这两种方式在功能上是等同的,任何一种都可以用另一种来模拟。它们都是有效的图形工具,可用来快速创建在网页中显示的轻型图形;它们都使用 JavaScript 和 HTML;它们都遵守万维网联合会 (W3C) 标准。

Canvas和SVG都允许您在浏览器中创建图形,但是它们在根本上是不同的。它们很不相同,他们各有强项和弱点。

Canvas 通过JavaScript来绘制2D图形。Canvas 是逐像素进行渲染的。在 canvas 中,一旦图形被绘制完成,它就不会继续得到浏览器的关注。如果其位置发生变化,那么整个场景也需要重新绘制,包括任何或许已被图形覆盖的对象。

SVG 是一种使用 XML 描述 2D 图形的语言。SVG 基于 XML,这意味着 SVG DOM 中的每个元素都是可用的。您可以为某个元素附加 JavaScript 事件处理器。在 SVG 中,每个被绘制的图形均被视为对象。如果 SVG 对象的属性发生变化,那么浏览器能够自动重现图形。

这两种技术之间的主要区别是:

 Canvas 是基于像素的即时模式图形系统,最适合较小的表面或较大数量的对象,Canvas不支持鼠标键盘等事件。

 SVG 是基于形状的保留模式图形系统,更加适合较大的表面或较小数量的对象。Canvas和SVG在修改方式上还存在着不同。绘制Canvas对象后,不能使用脚本和 CSS 对它进行修改。因为 SVG 对象是文档对象模型的一部分,所以可以随时使用脚本和 CSS 修改它们。

现在对两种技术做对比归纳如下:

Canvas

1)依赖分辨率

2)不支持事件处理器

3)弱的文本渲染能力

4)能够以 .png 或 .jpg 格式保存结果图像

5)最适合图像密集型的游戏,其中的许多对象会被频繁重绘

SVG

1)不依赖分辨率

2)支持事件处理器

3)最适合带有大型渲染区域的应用程序(比如谷歌地图)

4)复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快)

5)不适合游戏应用

 

posted on 2016-12-15 20:13  布达拉格没有眼泪  阅读(316)  评论(0编辑  收藏  举报