HTML5权威指南笔记:15-嵌入内容

1 嵌入图像

img元素允许我们在HTML文档里嵌入图像

img元素
元素类型短语元素
允许具有的父元素任何可能包含短语内容的元素
局部属性src 、alt 、height 、width 、usemap 、ismap
内容
标签用法虚元素形式
是否为HTML5新增
在HTML5中的变化border 、longdesc 、name 、align 、hspace和vspace属性在HTML5巳被废弃
习惯样式

例子:嵌入一张图像

    <!--
        src属性指定了欲嵌入图像的URL
        alt属性定义了img元素的备用内容,此内容会在图像无法显示时呈现
        width和height属性来指定img元素所代表图像的尺寸(单位是像素)
    -->
    <img src="triathlon.png" alt="Triathlon Image" width="200" height="67" />

1.1 在超链接里嵌入图像

例子:使用img和a元素创建服务器端的分区响应图

    <!--如果点击这张图像,浏览器会导航至父元素a的href属性所指定的URL上-->
    <a href="otherpage.html">
        <!--ismap属性创建了一个服务器端分区响应图,意思是在图像上点击的位置会附加到URL上-->
        <img src="triathlon.png" ismap alt="Triathlon Image"
             width="200" height="67" />
    </a>

1.2 创建客户端分区响应图

使用map元素,可以通过点击某张图像上的不同区域让浏览器导航到不同的URL上。

map元素
元素类型map元素在包含短语内容时被视为短语元素,包含流内容时则被视为流元素
允许具有的父元素任何可以包含短语或流内容的元素
局部属性name
内容一个或多个area元素
标签用法开始标签和结束标签
是否为HTML5新增
在HTML5中的变化如果使用了id属性,它的值必须和name属性相同
习惯样式

map元素包含一个或多个area元素,它们各自代表了图像上可被点击的一块区域。

area元素
元素类型短语
允许具有的父元素map元素
局部属性alt 、href 、target 、rel 、media 、hreflang 、type 、shape 、coords
内容
标签用法虚元素形式
是否为HTML5新增
在HTML5中的变化rel 、media和hreflan属性是HTML5中新增的。nohref属性现已被废弃
习惯样式area { display: none; }

与目标地址相关的area 元素属性:

  1. href:此区域被点击时浏览器应该加载的URL
  2. alt:替代内容,参见img元素的对应属性
  3. target:应该用来显示URL的浏览上下文,参见第7章base元素的对应属性
  4. rel:描述了当前文档和目标文档之间的关系,参见第7章link元素的对应属性
  5. media:此区域适用的媒介,参见第7章style元素的对应属性
  6. hreflang:目标文档的语言
  7. type:目标文档的MIME类型

coords属性的意思根据shape属性的值而定可以用这些属性来标明用户可以点击的各个图像区域

shape值cords值的性质和意思
rect这个值代表了一个矩形区域。coords属性必须由四个用逗号分隔的整数组成,它们代表了下列位置之间的距离:
图像的左边缘与矩形的左侧
图像的上边缘与矩形的上侧
图像的右边缘与矩形的右侧
图像的下边缘与矩形的下侧
circle这个值代表了一个圆形区域。coords属性必须由三个用逗号分隔的整数组成,它们代表了下列参数:
从图像左边缘到圆心的距离
从图像上边缘到圆心的距离
圆的半径
poly这个值代表了一个多边形。coords属性必须至少包含六个用逗号分隔的整数,每一对数字各代表多边形的一个顶点
default这个值的意思是默认区域,即覆盖整张图片。shape属性使用这个值时不需要提供coords值

例子:创建分区响应图

<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
    Here is a common form for representing the three activities in a triathlon.
    <p>
        <!--usemap属性的值必须由#符开头的字符串。这样就能把map元素与图像关联起来。-->
        <img src="triathlon.png" usemap="#mymap" alt="Triathlon Image" />
    </p>
    The first icon represents swimming, the second represents cycling and the third
    represents running.

    <map name="mymap">
        <!--根据这里的设置,点击图像的某个部分会导航到不同的url-->
        <area href="swimpage.html" shape="rect" coords="3,5,68,62" alt="Swimming" />
        <area href="cyclepage.html" shape="rect" coords="70,5,130,62" alt="Running" />
        <area href="otherpage.html" shape="default" alt="default" />
    </map>
</body>
</html>

2 嵌入另一张HTML 文档

iframe元素允许我们在现有的HTML文档中嵌入另一张文档。

iframe元素
元素类型短语
允许具有的父元素任何可包含短语内容的元素
局部属性src 、srcdoc 、name 、width 、height 、sandbox 、seamless
内容字符数据
标签用法开始标签和结束标签
是否为HTML5新增
在HTML5中的变化sandbox和seamless属性是HTML5新增的。longdesc 、align 、allowtransparency 、frameborder 、marginheight 、marginwidthscrolling属性已被废弃
习惯样式iframe { border: 2px inset; }

例子:使用iframe元素

<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
    <header>
        <h1>Things I like</h1>
        <nav>
            <ul>
                <li>
                    <!--可以把这个浏览上下文与其他元素(具体是指a 、form、button 、input和base ) 的target属性结合使用。
                        这样点击这里就会将url导航至下面的iframe元素-->
                    <a href="fruits.html" target="frame">Fruits I Like</a>
                </li>
                <li>
                    <a href="activities.html" target="frame">Activities I Like</a>
                </li>
            </ul>
        </nav>
    </header>
    <iframe name="myframe" width="300" height="100"></iframe>
</body>
</html>
  1. src属性指定了iframe一开始应该载入并显示的URL
  2. srcdoc属性可以定义一张用于内嵌显示的HTML文档
  3. seamless属性指示浏览器把iframe 的内容显示得像主HTML文档的一个整体组成部分
  4. sandbox 属性会对HTML文档进行限制(脚本、表单、插件、指向其他浏览上下文的链接),单没有属性值时全部禁用,有值时是启用某功能,值见下面列表。
    1. allow-forms:启用表单
    2. allow-scripts:启用脚本
    3. allow-top-navigation:允许链接指向顶层的浏览上下文,这样就能用另一个文档替换当前整个文档,或者创建新的标签和窗口
    4. allow-same-origin:允许iframe里的内容被视为与文档其余部分拥有同一个来源位置

3 通过插件嵌入内容

3.1 使用embed 元素

embed元素
元素类型短语
允许具有的父元素任何可以包含短语内容的元素
局部属性src 、type 、height 、width
内容
标签用法虚元素形式
是否为HTML5新增是,不过多年来已经作为非正式元素被广泛使用
在HTML5中的变化
习惯样式

例子:使用embed元素

<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
    <!--嵌入一个来自www.youtube.com的视频,里面是一些谷歌工程师关于HTML5的谈话
        src属性指定了内容的地址.
        type属性则指定了内容的MIME类型.
        width和height属性决定嵌入内容将在屏幕上占据的空间大小。
        应用的其他任何属性都会被当做是插件或内容的参数,这里的allowfullscreen属性,
        YouTube的视频播放器通过它来启用全屏观看功能
        -->
    <embed src="http://www.youtube.com/v/qzA60hHca9s?version=3"
           type="application/x-shockwave-flash" width="560" height="349"
           allowfullscreen="true" />
</body>
</html>

3.2 使用object和param元素

object元素
元素类型这个元素在包含短语内容时被视为短语元素,包含流内容时则被视为流元素
允许具有的父元素任何可以包含短语或流内容的元素
局部属性data 、type 、height 、width 、usemap 、name 、form
内容空白或任意数量的param元素,并可选择添加短语或流内容作为备用内容,参见本节后面的示例
标签用法开始标签和结束标签
是否为HTML5新增
在HTML5中的变化form属性是HTML5里新增的,archive 、classid 、code 、codebase 、codetype 、declare 、standby 、align 、hspace 、vspace和border属性已被废弃
习惯样式

param元素来定义将要传递给插件的参数

param元素
元素类型
允许具有的父元素object元素
局部属性name 、value
内容
标签用法虚元素形式
是否为HTML5新增
在HTML5中的变化
习惯样式param { display: none; }

例子:使用object元素的备用内容功能

<!DOCTYPE HTML>
<html>
<head>

</head>
<body>
    <!--object元素的一大优点是可以包含备用内容
    data属性提供了内容的地址,当地址不存在时就会转而显示object元素中的内容-->
    <object width="560" height="349" data="http://titan/myimaginaryfile">
        <param name="allowFullScreen" value="true" />
        <b>Sorry!</b> We can't display this content
    </object>
</body>
</html>

4 object 元素的其他用途

例子:用object元素嵌入一张图像

<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
    <!--和img元素一样-->
    <object data="triathlon.png" type="image/png"></object>
</body>
</html>

例子:用object元素创建一张客户端分区响应图

<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
    <map name="mymap">
        <area href="swimpage.html" shape="rect" coords="3,5,68,62" alt="Swimming" />
        <area href="cyclepage.html" shape="rect" coords="70,5,130,62" alt="Running" />
        <area href="otherpage.html" shape="default" alt="default" />
    </map>
    <!--usemap属性可以用于关联map元素和object元素-->
    <object data="triathlon.png" type="image/png" usemap="#mymap"></object>
</body>
</html>

例子:将object元素作为浏览上下文环境

<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
    <header>
        <h1>Things I like</h1>
        <nav>
            <ul>
                <li>
                    <a href="fruits.html" target="frame">Fruits I Like</a>
                </li>
                <li>
                    <a href="activities.html" target="frame">Activities I Like</a>
                </li>
            </ul>
        </nav>
    </header>
    <!--可以用object元素来将一张HTML文档嵌入到另一张文档之中,就像用iframe元素一样-->
    <object type="text/html" name="frame" width="300" height="100"></object>
</body>
</html>

5 嵌入数字表现形式

5.1 显示进度

progress元素可以用来表现某项任务逐渐完成的过程。

progress元素
元素类型短语
允许具有的父元素任何可以包含短语内容的元素
局部属性value 、max 、form
内容短语内容
标签用法开始标签和结束标签
是否为HTML5新增
在HTML5中的变化
习惯样式

例子:使用progress元素

<!DOCTYPE HTML>
<html>
    <head>
    </head>
    <body>
        <!--value属性定义了当前的进度。
        当max属性被省略时,范围是0至1 。用浮点数来表示进度,比如0.3代表30%-->
        <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>

        <!--使用脚本关联了按钮和progress元素-->
        <script>
            var buttons = document.getElementsByTagName('BUTTON');
            var progress = document.getElementById('myprogress');
            for (var i = 0; i < buttons.length; i++) {
                buttons[i].onclick = function(e) {
                    progress.value = e.target.value;
                };
            }
        </script>
    </body>
</html>

5.2 显示范围里的值

meter元素显示了某个范围内所有可能值中的一个

meter元素
元素类型短语
允许具有的父元素任何可以包含短语内容的元素
局部属性value 、min 、max 、low 、high 、optimum 、form
内容短语内容
标签用法开始标签和结束标签
是否为HTML5新增
在HTML5中的变化
习惯样式

例子:使用meter元素

<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
    <!--min和max属性设定了可能值所处范围的边界。
    low属性在它之下的所有值都被认为是过低。
    high属性在它之上的所有值都被认为是过高。
    optimum属性指定了“最佳'的值。-->
    <meter id="mymeter" value="90"
           min="10" 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; i < buttons.length; i++) {
            buttons[i].onclick = function (e) {
                meter.value = e.target.value;
            };
        }
    </script>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值