名站网址导航名站网址导航小编为爱好网页hTML5的朋友提供关于网页hTML5的相关知识。
- 本篇文章的具体介绍如下
一、网页hTML5教程 template网页元素初面
<template>网页元素,基本上可以确定是2013年才出现的。干嘛用的呢,顾名思意,就是用来声明是“模板网页元素”。
目前,咱们在网页hTML中嵌入模板网页hTML,往往是类似这样的写法:
XML/网页hTML Code 复制内容到剪贴板- <script type="text/template">
- // ...
- </script>
实际上,并不存在type="text/template"这样的标准写法,<template>网页元素的出现旨在让网页hTML模板网页hTML变得更加标准与规范。
以前,咱们可能还使用过<textarea>或者<xmp>(废止但依然可用)嵌套非转义的网页hTML网页文章标签具体代码,实现一些特定的前端功能,但,同样的,跟上面的流行用法一样,都是不规范的。从未来趋势来讲,显然<template>网页文章标签才是王道。但是,兼容性是个不可忽略的问题,因此,就算扯得很多很少,实际价值有有限,因此,这里仅仅简单介绍下。
二、网页hTML5教程 template网页元素复面
看下下面四种嵌套图片网页hTML,同时图片内容不显示,不会有请求的写法:
XML/网页hTML Code 复制内容到剪贴板- <script type="text/template">
- <img src="mm1.jpg">
- </script>
- <textarea style="display: none;">
- <img src="mm1.jpg">
- </textarea>
- <xmp style="display: none;">
- <img src="mm1.jpg">
- </xmp>
- <template>
- <img src="mm1.jpg">
- </template>
1. 网页文章标签内容隐藏性
<script>本身的特定,让内部的网页hTML网页文章标签是按照字符串处理的,因此,天生内容不显示。但是,在DreamWeaver中,这种写法有个很大的问题,就是在script中书写模板网页hTML时候,网页文章标签自动闭合的永远是</script>这个很讨厌的。
<textarea>为文本域,里面嵌套的网页hTML片段会被当做文本域的值。但,文本域本身是可见的,因此需要额外的设置display: none;
<xmp>是个很老很特殊的属性,语义为example,示例。据说后来被<pre>网页文章标签取代而废止,实际上,目前,所有的浏览器都是支持的。但是,其跟<pre>网页文章标签不能划等号。<pre>里面有个<img>网页文章标签,显示的则是一张图片,而<xmp>呈现的就是一段网页hTML具体代码。不过,与<textarea>一样,内容不显示的话,还需要额外的设置display: none;
上面这个<template>网页文章标签上没有设置display: none;,注意到了没有。为何?这只是发挥了<template>网页文章标签网页元素的原本特性,天生display:none,同时模板网页元素内部内容是死活不会呈现的。因此,无需设置隐藏。这就是网页hTML5教程 <template>网页文章标签网页元素特征之一:网页文章标签内容隐藏性.
2. 网页文章标签位置任意性
除了上面<template>子网页元素天然隐藏外,<template>网页文章标签还有一个特性,就是位置任意性,这非常类似<script>或者<style>网页文章标签,可以在<head>中,也可以在<body>或者<frameset>中。
3. childNodes无效性
虽然,肉眼看上去是<template>网页文章标签里面还有很多子网页文章标签,这种惯性思维在这里是不受用的。假设变量template是咱们获得的一个<template>网页文章标签DOM(里面一大堆网页hTML具体代码),您会发现:template.childNodes是个空大屁。咱们可以使用template.inner网页hTML获取完整的网页hTML片段。如果您非得获取“伪子网页元素”。也是有办法的,OK,睁大眼睛,要使用content属性。
template.content会返回一个文档片段,您可以理解为另外一个document,然后,使用document下的一些查询API就可以获得<template>网页文章标签里面的“伪子网页元素”了。例如,获得第一张图片网页元素则是:
CSS Code 复制内容到剪贴板- var image_first = template.content.querySelector("img");
三、网页hTML5教程 template网页元素终面
您可以狠狠地点击这里:网页hTML5教程 template模板网页元素体验demo
模板网页元素与CSS
如果浏览器有眼不识泰山,认为<template>就是个普通的自定义网页元素,则显示的就会使下面这个样子,内部的网页文章标签按照一般的网页文章标签渲染了。
如果浏览器与时俱进,则显示会是下面这样,自身CSS渲染,内部网页文章标签直接异空间不渲染,例如Chrome:
也就是说,虽然从CSS的角度看,<template>就是个跟CSS打得火热的普通网页元素,但是,从网页hTML角度看,其犹如带土的写轮眼,可以让内部网页文章标签转移到异空间,血迹界限般稀有。
默认情况下,<template>是隐藏的,实际是默认其display属性为none. 使用下面的具体代码一测便知:
window.getComputedStyle(template).display; // 结果是"none"
因此,demo中才设置了如下的CSS声明:
CSS Code 复制内容到剪贴板- template { display: block; ... }
模板的克隆
如果您是在网页hTML字符串上处理,类似于现在流行的MVC框架或模板技术,则template.inner网页hTML足矣。然,<template>比<script>强大之处在于,<script>内部内容只能当做字符串来获取,而<template>虽然存在于异空间,但是,依然可以节点获取(上面有展示),以及完整克隆,语法类似下面:
- var clone = document.importNode(template.content, true);
然后,您就可以用append节点(appendChild)的方式,加载模板内容了,而不是(没得选择)append字符串加载模板内容。标题是“简介”,因此,不展开,也不放具体的具体相关了(若有兴趣,可参考文末的参考文章),大家知道有这么回事就好。
四、网页hTML5教程 template面试小结
至此,<template>网页元素的行为、表现以及一些实用具体的方法基本上有了大致的认识,如果这是场面试的话,则我对<template>的评价还是挺高的,特殊场景使用的特殊利器,一些类似“异空间”的设计也是让人大开眼界,这个网页元素要比<hgroup>之类的网页hTML5教程网页元素更受欢迎更受关注也更有潜力。
临近最后,放上兼容性表,IE浏览器拖了好大的后腿,不过我表示很淡定,因为对IE早已麻木!
兼容性
关于网页hTML5的相关知识就说到这里希望可以帮助朋友们。,网页hTML5,template针对网页hTML5教程的Web Worker使用攻略
Web Worker的基本原理就是在当前javascript的主线程中,使用Worker类加载一个javascript相关站点文件来开辟一个新的线程,起到互不阻塞执行的具体效果,并且提供主线程和新线程之间数据交换的接口:postMessage,onmessage。