2.HTML5常用元素和属性

一、HTML5常用元素和属性

1.HTML5保留的常用元素

1.1 基本元素

1.2 文本格式化

<body>
	<span><b>加粗文本</b></span><br />
	<span><i>斜体文本</i></span><br />
	<span><b><i>粗斜体文本</i></b></span><br />
	<span><em>被强调的文本</em></span><br />
	<p><strong>加粗文本</strong></p>
	<small><span>小号字体文本</span></small><br />
	<div>普通文本<sup>上标文本</sup></div>
	<span>普通文本<strong><sub>下标加粗文本</sub></strong></span><br />
	<!-- 指定文本从左向右(正常情况)排列 -->
	<bdo dir="ltr">从左向右排列的文本</bdo><br />
	<!-- 指定文本从右向左排列 -->
	<bdo dir="rtl">从右向左排列的文本</bdo><br />

1.3 语义相关

<abbr>
·属性:title  
表示一个缩写
<!-- 使用abbr定义缩写 -->
<abbr title="Java教育">fkjava</abbr>。
<address> 
<!-- 使用address定义地址 -->
<address>广州市天河区车陂大岗路4号沣宏大厦3006-3011</address>
<blockquote>定义一段很长的引用文本
<!-- 使用blockquote表示一段长的引用文本。 -->
<blockquote>
锦瑟无端五十弦,一弦一柱思华年。<br>
庄生晓梦迷蝴蝶,望帝春心托杜鹃。<br>
沧海月明珠有泪,蓝田日暖玉生烟。<br>
此情可待成追忆,只是当时已惘然。
</blockquote>
<cite>作品的标题
<p>
<cite>《芙蓉镇》</cite>、<cite>《蓝风筝》</cite>是国内导演拍摄的最有思考深度的两部电影。</p>
<p>
<code>计算机代码
<code>
	public class Cat<br>
	{<br>
		private int name = "garfield";<br>
	}<br>
</code>
<dfn>定义专业术语
<!-- 使用dfn定义专业术语 -->
<dfn>HTML</dfn>是一种广为人知的标记语言。
<del>
删除的文本。
属性:
cite:该URL对应的文本解释了删除原因。
datetime:删除的日期。
<!-- 使用del和ins表示修订 -->
<p>Android是一个<del>开发</del><ins>开放</ins>式的手机、平板电脑操作系统</p>
<ins>:定义文档中插入的文本插入的文本。
属性:
cite:该URL对应的文本解释了插入原因。
datetime:插入的日期。
<!-- 使用del和ins表示修订 -->
<p>Android是一个<del>开发</del><ins>开放</ins>式的手机、平板电脑操作系统</p>
<pre>该元素包含的文本以i经预格式化了。
<!-- pre元素包含的内容是“预格式化”文本。 -->
<pre>
	public class Cat
	{
		private int name = "garfield";
	}
</pre>
<samp>定义示范文本内容
<!-- 使用samp定义范例文本 -->
<samp>
我在阅读XXX图书的第X章、第X节时,遇到一个XXX问题,错误提示信息是:XXX。
</samp>
<kbd>定义键盘文本
<p>
可通过输入如下命令:<br/>
<kbd>list -l</kbd><br/>
在Linux的Shell窗口查看当前目录下所有文件、目录的详细信息。</p>
<p>
<var>表示一个变量。
<!-- 使用var定义变量 -->
<var>i</var>、<var>j</var>、<var>k</var>通常用于作为循环计数器变量。
<q>定义一段短的引用文本。
<!-- 使用q表示一段短的引用文本。 --> 
<p>Java的精神是<q cite="http://www.fkjava.org">源自梦想,技术成就辉煌</q>
这也是所有Java程序员的精神。</p>
   

1.4 超链接和锚点

<body>
<!-- 在本窗口打开另一个资源 -->
<a href="http://www.crazyit.org"><b>Java联盟</b></a><br />
<!-- 在新窗口中打开另一个资源 -->
<a href="http://www.crazyit.org"
	target="_blank"><em>Java联盟</em></a><br />
<!-- 为图像增加超链接 -->
<a href="http://www.crazyit.org"><img src="img/logo.jpg"
	alt="Java联盟"/></a><br />
<!-- 基于相对路径指定另一个资源 -->
<a href="text.html">文本格式化标签</a><br /> 
</body>


1.5 列表相关

	<!-- 定义无序列表 -->
	<ul>
		<li>Java讲义</li>
		<li>轻量级Java EE企业应用实战</li>
		<li>Android讲义</li>
	</ul>
	<!-- 定义有序列表 -->
	<ol start="2" type="I" reversed>
		<li>Java讲义</li>
		<li>轻量级Java EE企业应用实战</li>
		<li>Android讲义</li>
	</ol>
	<!-- 定义列表 -->
	<dl>
		<!-- 定义标题列表项-->
		<dt>Java体系</dt>
		<dd>Java讲义</dd>
		<dd>轻量级Java EE企业应用实战</dd>
		<dd>Android讲义</dd>
		<!-- 定义标题列表项-->
		<dt>作者其他图书</dt>
		<dd>Struts 2.1权威指南</dd>
		<dd>基于J2EE的Ajax宝典</dd>
	</dl>


1.6 图像相关

<img src="images/logo.jpg" alt="Java的Logo" /><br />
<!-- 定义图片,指定高、宽 -->
<img src="images/logo.jpg" width="300" height="120"
	alt="Java的Logo" /><br />
<!-- 定义图片,使用指定的图片映射 -->
<img src="images/logo.jpg" width="300" 
	height="120" border="0" usemap="#test"
	alt="Java的Logo" /><br />
<!-- 定义图片映射 -->
<map name="test" id="test">
	<!-- 为该图片映射定义2个区域 -->
	<area shape="circle" coords="57,55,25" 
		href="http://www.fkjava.org" alt="fkjava.org" />
	<area shape="poly" coords="188,28,185,50,200,74,224,72,246,51"
		href="http://www.crazyit.org" alt="crazyit.org" />
</map>


1.7 表格相关

<!-- 设置表格背景色为黑色,单元格之间的间距为1px
	通过设置背景色为黑色可以实现边框效果
-->
<table style="background-color:black; border-collapse:separate;border-spacing:1px;">
	<caption><b>Java体系图书</b></caption>
	<!-- 定义所有列的背景色都是白色 -->
	<colgroup style="background-color:white;">
		<!-- 设置第一列宽160px -->
		<col style="width:160px"/>
		<!-- 定义横跨两列,设置这两列各宽100px -->
		<col span="2" style="width:100px"/>
	</colgroup>
	<thead>
	<tr>
		<th>书名</th>
		<th>作者</th>
		<th>价格</th>
	</tr>
	</thead>
	<tfoot>
	<tr>
		<td colspan="3" style="text-align:right">现总计:2本图书</td>
	</tr>
	</tfoot>
	<tbody>
	<tr>
		<td>Java讲义</td>
		<td>李刚</td>
		<td>109</td>
	</tr>
	<tr>
		<td>轻量级Java EE企业应用实战</td>
		<td>李刚</td>
		<td>89</td>
	</tr>
	</tbody>
</table>

1.8 框架相关

2.HTML5新增的通用属性

2.1 contentEditable

<div contentEditable="true" style="width:500px;border:1px solid black">
	Java讲义
	<!-- 该元素的父元素有contentEditable="true",因此该表格也是可编辑的 -->
	<table style="width:420px;border-collapse:collapse" border="1">
		<tr>
			<td>Java讲义</td>
			<td>Android讲义</td>
		</tr>
		<tr>
			<td>轻量级Java EE企业应用实战</td>
			<td>经典Java EE企业应用实战</td>
		</tr>
	</table>
</div>

<hr/>
<!-- 这个表格默认是不可编辑的
	双击之后该表格变为可编辑状态 -->
<table id="target"  οndblclick="this.contentEditable=true;"
	style="width:420px;border-collapse:collapse" border="1">
	<tr>
		<td>Java</td>
		<td>Ruby</td>
	</tr>
	<tr>
		<td>C/C++</td>
		<td>Python</td>
	</tr>
</table>


2.2 designMode

<body οndblclick="document.designMode='on';">
	<div>aaaa</div>
	<table style="width:420px;border-collapse:collapse" border="1">
		<tr>
			<td>Java讲义</td>
			<td>Android讲义</td>
		</tr>
		<tr>
			<td>轻量级Java EE企业应用实战</td>
			<td>经典Java EE企业应用实战</td>
		</tr>
	</table>
</body>


2.3 hidden

<div id="target" hidden="true" style="height:80px">
文字内容
</div>
<button οnclick="var target=document.getElementById('target');
	target.hidden=!target.hidden;">显示/隐藏</button>

2.4 spellcheck

<!-- 指定执行拼写检查 -->
<textarea spelllcheck="true" rows="3" cols="40"> </textarea>

3.HTML5新增的常用元素

3.1 文档结构

<body>
	<article>
		<!-- 帖子的“头部” -->
		<header>
			<hgroup>
				<h1>学习Android,必须先学习Java吗</h1>
				<h4>你猜啊</h4>
			</hgroup>
			<div>作者:crazystu</div>
		</header>
		<p> 学习Android,必须先学习Java吗? </p>
		<!-- 帖子的“回复”部分,用section元素表示  -->
		<section>
			<!-- 每个article代表一个回复 -->
			<article>
				<!-- 回复的头部 -->
				<header>
					<h2>还是得学习Java</h2>
					<div>作者:kongyeeku</div>
				</header>
				<p>虽然Android不一定要使用Java开发 </p>
			</article>
			<!-- 每个article代表一个回复 -->
			<article>
				<!-- 回复的头部 -->
				<header>
					<h2>Java是基础</h2>
					<div>作者:kuan008</div>
				</header>			
				<p>Java是基础,学好Java再去学习Android事半功倍。</p>
			</article>
		</section>
		<!-- 帖子的“脚注” -->
		<footer>
			以上帖子和回复只代表其个人观点,不代表Java联盟的观点或立场
		</footer>
	</article>
</body>


<body>
	<article>
		<!-- 帖子的“头部” -->
		<header>
			<h1>学习Android,必须先学习Java吗</h1>
			<div>作者:crazystu</div>
		</header>
		<p>
		学习Android,必须先学习Java吗?
		Android上的应用程序只能用Java编写吗?可以用C++吗?</p>
		<!-- 帖子的“回复”部分,用section元素表示  -->
		<section>
			<!-- 每个article代表一个回复 -->
			<article>
				<!-- 回复的头部 -->
				<header>
					<h2>还是得学习Java</h2>
					<div>作者:kongyeeku</div>
				</header>
				<p>虽然Android不一定要使用Java开发,还可以选择JavaScript、<br/>
					或NDK开发,但Java毕竟是Android主要的开发语言,<br/>
					因此建议学习Android之前还是先学习Java</p>
			</article>
			<!-- 每个article代表一个回复 -->
			<article>
				<!-- 回复的头部 -->
				<header>
					<h2>Java是基础</h2>
					<div>作者:kuan008</div>
				</header>			
				<p>Java是基础,学好Java再去学习Android事半功倍。</p>
			</article>
		</section>
		<!-- 帖子的“脚注” -->
		<footer>
			以上帖子和回复只代表其个人观点,不代表Java联盟的观点或立场
		</footer>
		<!-- 该aside放在article内部,将作为该文章的“边栏”信息 -->
		<aside>
			<h3>关于楼主</h3>
			<section>
			<div>用户组: 编程摸索者</div> 
			<div>注册日期: 2009-7-27</div> 
			<div>上次访问: 2012-1-3 20:02</div> 
			<div>最后发表: 2012-1-1 17:38</div> 
			<div>发帖数级别: 小试牛刀</div> 
			<div>阅读权限: 30</div> 
			</section>
		</aside>
	</article>
	<!-- 该aside放在body内部,将作为整个HTML文档的“边栏”信息 -->
	<aside>
		<h3>页面导航</h3>
		<nav>
			<ul>
				<li><a href="#">查看相关内容</a></li>
				<li><a href="http://www.crazyit.org">返回首页</a></li>
				<li><a href="http://www.crazyit.org/forum-63-1.html">返回本版</a></li>
			</ul>
		</nav>
	</aside>
</body>




<body>
	<figure style="border:2px solid black;padding:5px;width:500px">
		<figcaption><b>Java体系图书</b></figcaption>
		<img src="images/java.png" alt="Java讲义"/>
		<img src="images/android.png" alt="Android讲义"/>
		<img src="images/ee.png" alt="轻量级Java EE企业应用实战"/>
	</figure>
</body>



3.2 语义相关

mark:需要关注

<body>
<article>
	<header>
		<h2>疯狂软件即将引入<mark>HTML 5</mark>相关课程</h2>
	</header>
	<p>
		<mark>HTML 5</mark>是下一代的HTML规范,<br/>
		<mark>HTML 5</mark>即将把前端开发者从繁重的开发中释放出来。<br/>
		为了把握技术潮流的脉搏,疯狂软件教育计划在
		<time datetime="2012-04-01">2012年4月</time>
	引入<mark>HTML 5</mark>的相关课程。<br/>
	上课时间是<time datetime="09:00">早上9点</time>
	到<time datetime="17:30">下午5点半</time>。<br/>
	将于<time datetime="2012-01-30T09:00">正月初八</time>
	开始上班,也就是<time>2012-01-30</time>。
	</p>
</article>
</body>



目前只有Chrome支持 
<body>
	<details>
		<summary>芙蓉镇</summary>
		《芙蓉镇》是一部极好的电影,每个中国人都不应该错过。
	</details>
</body>

  


3.3 进度条

  
<body>
	当前行车速度是:
	<meter value="120" min="0" max="220" low="0" high="160"> 120</meter>
	千米/小时。<br/>
	任务完成比:
	<progress value="30" max="100">30/100</progress>
</body>
<meter>
value:默认0
min:默认0
max:默认1
low:
high:
optimum:最佳值
<progress>
max
value

4.HTML5头部和元信息


5.HTML5拖放的API

<div id="source" style="width:80px;height:80px;
	border:1px solid black; background-color: #bbb;" draggable="true">
	软件教育
</div>
<script type="text/javascript">
	var source = document.getElementById("source");
	source.ondragstart = function(evt)
	{
		// 让拖动操作携带数据
		evt.dataTransfer.setData("text/plain" , "www.fkyva.org");
	}
	document.ondragover = function(evt)
	{
		// 取消事件的默认行为
		return false;
	}
	document.ondrop = function(evt)
	{
		source.style.position = "absolute";
		source.style.left = evt.pageX + "px";
		source.style.top = evt.pageY + "px";
		// 取消事件的默认行为
		return false;
	}
</script>
ondragstart开始拖动
ondrag拖动过程
ondragend拖动结束
ondragenter被拖动的元素进入本元素
ondragover被拖动的元素进入本元素后,被拖动时触发
ondragleave被拖动的元素离开本元素
ondrop其他元素被放到了本元素中时
  

DataTransfer对象
dataTransfer.dropEffectnone,copy,link,move
dataTransfer.effectAllowednone,copy,copyLink,copyMove,link,linkMove,move,all,uninitialized
dataTransfer.items 
dataTransfer.setDragImage 
dataTransfer.addElement(element) 
dataTransfer.types 
dataTransfer.getData(format) 
dataTransfer.setData(format) 
dataTransfer.clearData([format]) 
  


<!DOCTYPE html>
<html>
<head>
	<meta name="author" content="Yeeku.H.Lee(CrazyIt.org)" />
	<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
	<title> 通过拖放实现添加、删除 </title>
	<style type="text/css">
		div>div{
			display: inline-block;
			padding: 10px;
			background-color: #aaa;
			margin: 3px;
		}
	</style>
</head>
<body>
<div style="width:600px;border:1px solid black;">
<h2>可将喜欢的项目拖入收藏夹</h2>
<div draggable="true" οndragstart="dsHandler(event);">Java联盟</div>
<div draggable="true" οndragstart="dsHandler(event);">软件教育</div>
<div draggable="true" οndragstart="dsHandler(event);">关于我们</div>
<div draggable="true" οndragstart="dsHandler(event);">疯狂成员</div>
</div>
<div id="dest"
	style="width:400px;height:260px; 
	border:1px solid black;float:left;">
	<h2 οndragleave="return false;">收藏夹</h2>
</div>
<img id="gb" draggable="false" src="garbagebin.png"
	alt="垃圾桶" style="float:left;"/>
<script type="text/javascript">
	var dest = document.getElementById("dest");
	var imgIcon = document.createElement("img");
	imgIcon.src = "my.gif";
	// 开始拖动事件的事件监听器
	var dsHandler = function(evt)
{		//设置拖放图标
		var dt=evt.dataTransfer;
		dt.effectAllowed='copy';//move,copy,link,none
		dt.setDragImage(imgIcon,0,0);
		
		// 将被拖动元素的innerHTML属性值设置成被拖动的数据
		evt.dataTransfer.setData("text/plain" , "<item>" + evt.target.innerHTML);
	}
	dest.ondrop = function(evt)
	{
		var text = evt.dataTransfer.getData("text/plain");
		// 如果该text以<item>开头
		if (text.indexOf("<item>") == 0)
		{
			// 创建一个新的div元素
			var newEle = document.createElement("div");
			// 以当前时间为该元素生成一个唯一的ID
			newEle.id = new Date().getUTCMilliseconds();
			// 该元素内容为“拖”过来的数据
			newEle.innerHTML = text.substring(6);
			// 设置该元素允许拖动
			newEle.draggable="true";
			// 为该元素的开始拖动事件指定监听器
			newEle.ondragstart = function(evt)
			{
				// 将被拖动元素的id属性值设置成被拖动的数据
				evt.dataTransfer.setData("text/plain"
					, "<remove>" + newEle.id);
			}
			dest.appendChild(newEle);
		}

	}
	// 当把被拖动元素“放”到垃圾桶上时激发该方法。
	document.getElementById("gb").ondrop = function(evt)
	{
		var id = evt.dataTransfer.getData("text/plain");
		// 如果id以<remove>开头
		if (id.indexOf("<remove>") == 0)
		{
			// 根据“拖”过来的数据,获取被拖动的元素
			var target = document.getElementById(id.substring(8));
			// 删除被拖动的元素
			dest.removeChild(target);
		}
	}
	document.ondragover = function(evt)
	{
		// 取消事件的默认行为
		return false;
	}
	document.ondrop = function(evt)
	{
		// 取消事件的默认行为
		return false;
	}
</script>
</body>
</html>

  

二、HTML5纲要

1.查看纲要

1.1 Chrome扩展

http://code.google.com/p/h5o/

1.2 在线HTML纲要生成器

http://gsnedders.html5.org/outliner/

1.3 Opera扩展

https://addons.opera.com/zh-cn/extensions/details/html5-outliner/?display=en

2.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <!-- saved from url=(0014)about:internet -->

  <title>HTML5 Feature Detection</title>
  <script src="modernizr-2.0.6.js"></script>
</head>

<body>
	<article>
		<header>
			<hgroup>
				<h1>H1</h1>
				<h4>H2</h4>
			</hgroup>
			<p>1235</p>
		</header>
		
		
		<div>
			<script>
				var result = document.getElementById("result");

				if (Modernizr.draganddrop) {
					result.innerHtml("Rejoice! Your browser supports drag-and-drop.");
				}
				else {
					result.innerHtml("Sadly, your feeble browser does not support drag-and-drop.");
				}
			</script>	 
			<span id="result"> </span>
		</div>
		
		
		<div>
			<figure>
				<img src="00007.jpg" alt="123">
				<figcaption>
					5-5
				</figcaption>
			</figure>
		</div>
		
		
		<div>
			<p>Hello Chritmas</p>
			<aside>
				<hr/>
				<img src="00007.jpg" alt="123">
				ASIDE
				<hr/>
			</aside>
		</div>
		<div>
			<aside>
				<nav>
					<h2>Article</h2>
					<ul>
						<li>CET-1</li>
						<li>CET-3</li>
						<li>CET-4</li>
					</ul>
				</nav>
					
				<section>
					<h2>Articles</h2>
					<p>Desription</p>
				</section>		
			</aside>
		</div>
		
		<div>
			<details>
				<summary>#1</summary>
				<p>12345687654312456753432</p>
			</details>
		</div>
		
		<div>
			<time datetime="2013-12-25">April 21<sup>st</sup>.</time>
		</div>
		
				
		<div>
			<form action="#" id="outPutForm">
				<label for="feet inches">Height:</label>
				<input name="feet" type="text"/>
				<input name="inches" type="text"/>
				
				<label for="pounds">Weight:</label>
				<input name="pounds" type="text"/>
				<input name="submit" type="submit" />
			</form>
			<p>
				<output id="outPut_result" form="outPutForm" for="feet inches pounds"> </output>
			</p>
		</div>
		
		<div>
		<style type="text/css">
		mark{
			background-color:green;
			color:red;
		}
		</style>
			1<mark>2345</mark>6789
		</div>
	</article>
	
	<div id="footer">
		<img src="00007.jpg">
		<footer>
			<p>©CopyRights,All Rights Reserved.</p>
		</footer>
	</div>


</body>
</html>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值