HTML5-嵌入内容

来源:互联网 发布:小超市供销存管理优化 编辑:程序博客网 时间:2024/05/15 16:35

下述内容主要讲述了《HTML5权威指南》第15章关于“嵌入内容”。

一、嵌入图像

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元素
使用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>
3 0