HTML5-嵌入内容的详细介绍
一、嵌入图像
img元素允许我们在html文档里嵌入图像。图像在html标记处理完毕后才加载!!
src属性指定欲嵌入图像的URL;
alt属性定义了img元素的备用内容(图像无法显示时呈现)。
width和height属性指定img元素所代表图像的尺寸(单位是像素)。如果省略了该属性,浏览器不知道该为图像留出多大的屏幕空间,造成的结果是,浏览器必须依赖图像文件本身来确定它的尺寸,然后重定位屏幕上的内容来容纳它,产生晃动。
1. 在超链接里嵌入图像
示例:使用img和a元素创建服务器端的分区响应图
立即学习“前端免费学习笔记(深入)”;
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>使用img和a元素创建服务器端的分区响应图</title></head><body><a href="otherpage.html"> <img src="../images/sport.jpg" ismap alt="奥运会运动项目" width="520px" height="131px"></a></body></html>
http://localhost:63342/html_test/public/embeddedContent_Chapter15/otherpage.html?466,39
添加ismap属性就创建了一个服务器端分区响应图,URL地址中会包含鼠标点击的坐标。
2. 创建客户端分区响应图
创建一个客户端分区响应图,通过点击某张图像上的不同区域让浏览器导航到不同的URL上。
map元素包含一个或多个area元素,它们各自代表了图像上可被点击的一块区域。
area元素的属性可以被分为两类:第一类处理的是area所代表的图像区域被用户点击后浏览器会导航打的URL;第二类包含shape和coords属性标明用户可以点击的各个图像区域。
表 与目标地址相关的area元素属性
属性 | 说明 |
---|---|
href | 此区域被点击时浏览器应该加载的URL |
alt | 替代内容 |
target | 应该用来显示URL的浏览上下文 |
rel | 描述了当前文档和目标文档之间的关系 |
meida | 此区域适用的媒介 |
hreflang | 目标文档的语言 |
type | 目标文档的MIME类型 |
表 shape和coords属性的值
属性 | coords值得性质和意思 |
---|---|
rect | 代表矩形区域。coords属性必须由四个用逗号分隔的整数组成(左,上,右,下) |
circle | 代表圆形区域。coords属性必须右三个用逗号分隔的整数组成(左边缘到圆心的距离,上边缘到圆心的距离,半径) |
poly | 代表一个多边形。coords属性必须至少包含六个用逗号分隔的整数组成(每个数字各代表多边形的一个顶点) |
default | 默认区域,即覆盖整张图片 |
示例:创建分区响应图
<p> <img src="../images/sport.jpg" usemap="#sportmap" alt="Sport image"></p><map name="sportmap"> <area href="archery.html" shape="rect" coords="0,5,90,125" alt="射箭"> <area href="swimming.html" shape="rect" coords="120,5,250,125" alt="游泳"> <area href="weightlifting.html" shape="rect" coords="290,5,390,125" alt="举重"> <area href="hockey.html" shape="rect" coords="420,5,520,125" alt="曲棍球"> <area href="sport.html" shape="default" alt="运动"></map>
注意:
1. 给img元素添加usemap属性;将其与map元素关联起来。
2. 无需使用a元素来显示创建超链接。
二、 嵌入名一张HTML文档
iframe元素允许我们在现有的HTML文档中嵌入另一张文档。
示例:使用iframe元素
<header> <nav> <ul> <li> <a href="img_a.html" target="myframe">Img a Demo</a> </li> <li> <a href="img_map.html" target="myframe">Img map Demo</a> </li> </ul> </nav></header><iframe name="myframe" width="300" height="100"></iframe>
上述示例中创建了一个name属性为myframe的iframe元素,这样就创建了一个名为myframe的浏览上下文。然后将这个浏览上下文同其他元素(具体是指a、form、button、input和base)的target属性结合使用。示例中,会把href属性中指定的URL载入iframe。
表 其他属性
属性 | 说明 |
---|---|
src | 指定iframe一开始应该载入并显示的URL |
srcdoc | 定义一张用于内嵌显示的HTML文档 |
seamless | 把iframe内容显示得像主HTML文档的一个整体组成部分(浏览器未支持) |
sandbox | 对HTML文档进行限制(浏览器未支持) |
三、 通过插件嵌入内容
object和embed元素最初都是作为扩展浏览器能力的一种方式,用于添加插件支持,而插件能够处理浏览器不直接支持的内容。
示例:嵌入视频
<embed src="https://www.youtube.com/embed/jItLiNKSCBg" width="560" height="349" allowfullscreen="true"><object data="https://www.youtube.com/embed/jItLiNKSCBg" width="560" height="349"> <param name="allowFullScreen" value="true"> <b>Sorry!</b>We can't display this content</object>
示例:用object元素嵌入一张图像
<object data="../images/sport.jpg" type="image/jpg"></object>
示例:用object元素创建一张客户端分区响应图
<header> <nav> <ul> <li> <a href="img_a.html" target="myframe">Img a Demo</a> </li> <li> <a href="img_map.html" target="myframe">Img map Demo</a> </li> </ul> </nav></header><object type="text/html" name="myframe" width="300" height="100"></object>
注意:chrome和Safari目前不支持用object元素创建客户端分区响应图
示例:用object元素创建浏览器上下文
<p> <object type="image/jpg" data="../images/sport.jpg" usemap="#sportmap"></object></p><map name="sportmap"> <area href="archery.html" shape="rect" coords="0,5,90,125" alt="射箭"> <area href="swimming.html" shape="rect" coords="120,5,250,125" alt="游泳"> <area href="weightlifting.html" shape="rect" coords="290,5,390,125" alt="举重"> <area href="hockey.html" shape="rect" coords="420,5,520,125" alt="曲棍球"> <area href="sport.html" shape="default" alt="运动"></map>
四、嵌入数字表现形式
1. 显示进度
progress元素可以用来表现某项任务逐渐完成的过程。
value属性定义了当前的进度,它位于0和max属性的值所构成的范围之间。当max属性被省略时,范围是0至1。
示例:使用progress元素
<progress id="myprogress" value="10" max="100"></progress><p> <button type="button" value="30">30%</button> <button type="button" value="60">60%</button> <button type="button" value="90">90%</button></p><script> var buttons = document.getElementsByTagName("button"); var progress = document.getElementsByTagName("progress")[0]; for(var i = 0, len = buttons.length; i < len; i++){ buttons[i].onclick = function(e){ progress.value = e.target.value; // 千万不能通过 buttons[i].value 获取值 } }</script>
2. 显示范围里的值
meter元素显示了某个范围内所有可能值中的一个。
min和max属性设定了可能值所处范围的边界,它们可以用浮点数表示。
meter元素的显示可以分为三个部分:过低、过高和最佳。
low属性设置一个值,在它之下的所有值都被认为是过低;
high属性设置一个值,在它之上的所有值都被认为是过高;
optimum属性则指定了“最佳”的值。
<meter id="mymeter" value="90" min="0" max="100" low="40" high="80" optimum="60"></meter><p> <button type="button" value="30">30</button> <button type="button" value="60">60</button> <button type="button" value="90">90</button></p><script> var buttons = document.getElementsByTagName("button"); var meter = document.getElementById("mymeter"); for(var i = 0, len = buttons.length; i < len; i++){ buttons[i].onclick = function(e){ meter.value = e.target.value; } }</script>