HTML5:Details元素介绍

教程细节
•        概要:HTML5的Details标签
•        难度:初级
•        支持的浏览器:Chrome 12以上的版本
我最喜欢的HTML5新标签是details元素,它刚刚被集成到Chrome最新的12版中。我将会在今天的快速入门中展示如何来使用它。
________________________________________

Details标签可以用来做什么?
它本质上允许我们在点击标签时显示和隐藏内容。你一定相当熟悉这种效果,但是直到现在,它总是用Javascript实现的。想象头部之后有一个箭头,当你点击它时,下面的附加信息将会呈现。再次点击箭头内容消失。FAQ页面中经常使用这个功能。

Details元素允许我们完全抛开Javascript。或者说,它将做到这样,因为浏览器的支持还乏善可陈。

________________________________________
一个示例
现在让我们深入和学习如何使用这个新标签。我们从创建一个新的details元素开始。

<details> 

 

</details>

然后,我们需要放入summary的内容。

<details>
<summary> Who Goes to College? </summary>
<p> Your mom. </p>
</details>

好,让我们开始一些更实用的例子。我想要使用details元素显示不同的Nettuts+文章。我们首先为每一篇文章创建一个标记。

<details>
<summary>Dig Into Dojo</summary>
<img src=”dojo.jpg” alt=”Dojo” />
<div>
<h3> Dig into Dojo: DOM Basics </h3>
<p>Maybe you saw that tweet: “jQuery is a gateway drug. It leads to full-on JavaScript usage.” Part of that addiction, I contend, is learning other JavaScript frameworks. And that’s what this four-part series on the incredible Dojo Toolkit is all about: taking you to the next level of your JavaScript addiction.
</p>
</div>
</details>

下一步,我们将为它加上简单的样式。

body { font-family: sans-serif; }

details {
overflow: hidden;
background: #e3e3e3;
margin-bottom: 10px;
display: block;
}

details summary {
cursor: pointer;
padding: 10px;
}

details div {
float: left;
width: 65%;
}

details div h3 { margin-top: 0; }

details img {
float: left;
width: 200px;
padding: 0 30px 10px 10px;
}

 

注意,为了方便,我展示的是内容显示的时候。但是当页面加载时,你将只会看到summary文本。
如果你想要默认显示这样的状态,需要把openattribute添加到details元素里:。
________________________________________
结语

这是一个相当简单的效果,但是展示出有这样一个通用的内建特性是非常棒的事情。在我们确定所有的浏览器里都可以使用details元素之前,你可以使用polyfill来提供支持。最后要注意的一件事:在这篇文章写作时,还不支持使用键盘控制内容的切换。这可能是一个未来潜在的问题。

 

时间: 2024-11-05 12:15:20

HTML5:Details元素介绍的相关文章

HTML5教程:如何使用details元素和summary元素

文章简介:details 和 summary 元素. 曾几何时,我们创建可以显示/隐藏一些内容的小组件时,我们不得不使用Javascript.有时候你可能不得不为这个小功能,下载一个完整的 JS 库才能达到这个功能效果.为下面的时刻欢呼吧!HTML5提供了创建这种拖拽特点的方法,我们仅仅需要简单的几行html代码就能获得这种效果(从目前而言,这种效果还依赖于使用的浏览器,当然,在不久的将来,这可能不是问题).下面让我们一起来看看 <detail>元素. 下面就是规范中的描述 The detai

《HTML5开发手册》——2.3 初学者“菜谱”:使用details元素创建可伸缩控件

2.3 初学者"菜谱":使用details元素创建可伸缩控件 在本书撰写时,只有Chrome 13+支持新的details元素.但愿其他浏览器能尽快支持它. 利用details元素能够在无需任何JavaScript和/或CSS的情况下,创建交互式展开/收缩的开关效果.在其中使用summary元素还可以创建内容的概述信息. details有一个可选属性:open.若其为真,内容默认为展开样式:反之则为收缩样式,显示summary内容.Summary是一个可点击的部分,用以控制内容的展开与

HTML5 语义元素

中介交易 SEO诊断 淘宝客 云主机 技术大厅 HTML5 语义元素 语义= 意义. 语义元素 = 元素的意义. 什么是语义元素? 一个语义元素能够为浏览器和开发者清楚的描述其意义. 而像 < div > 和 元素是属于无语义元素. 语义元素实例: < form >, < t able>, and < img > - 清楚的描述了元素所代表的内容. 浏览器对语义元素的支持 Internet Explorer 9+, Firefox, Chrome, Safa

使用CoffeeScript和HTML5 canvas元素创建小游戏

小游戏是学习新技术的一种有趣方式.本文将引导您使用 CoffeeScript 和http://www.aliyun.com/zixun/aggregation/79228.html"> HTML5 canvas元素亲自实现Conway 的 Game of Life .尽管Conway 的 Game of Life 可能算不上一个游戏,但它是一个非常容易管理的出色的小任务. 在技术方面,您将需要: 一个可处理 HTML5 canvas元素的最 新的 Web 浏览器. CoffeeScript

HTML5 界面元素 Canvas 参考手册

HTML5 界面元素 Canvas 参考手册 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. HTML5 界面元素 Canvas 参考手册HTML Canvas Reference 描述Desc

《Ansible权威指南 》一第2章 Ansible基础元素介绍

第2章 Ansible基础元素介绍 第1章介绍了Ansible的功能作用.通信发展史.基础的安装部署及处理Ansible安装问题所需的Python多环境管理工具Pyenv和Virutalenv.在前期基本工作准备妥当的基础上,本章进一步深入学习Ansible的基础元素,会相继接触Ansible目录结构简介.Ansible系列命令.Ansible Inventory配置规范.Ansible模式匹配规则等,其中部分内容,诸如Inventory.Ansible-playbook等在后续涉及章节会更深入

三天学会HTML5 ——多媒体元素的使用

目录 1. HTML5 Media-Video 2. HTML5 Media-Audio 3. 拖拽操作 4. 获取位置信息 5. 使用Google 地图获取位置信息      多媒体是互联网中的最重要的一部分,无论访问的是哪种类型的网页,视频或音频触手可及,在之前实现这些功能对开发人员来说可能非常痛苦,必须依赖Object 标签,调用第三方软件来加载,如Flash等,如果有些设备不支持Flash,我们对此就束手无策了.但是HTML5的出现让多媒体网页开发变得异常简单,也形成了新的标准.   1

HTML5 input元素类型:email及url介绍

我们已经讨论了一些HTML5改进的地方,比如placeholder,prefetching以及webStorage,下面我要介绍的是两个新的input元素类型: email和url.让我们跟着代码来看看他们的好处:   语法格式: 新的input type属性,将使用 email 或者 url 来替代text:   代码如下:   <!-- email, 非@ + @ + 非 @ 符号,也可以使用其他的啦, 比如 [a-zA-Z0-9]{3,30}@[a-zA-Z0-9]+w*.(com|cn|

HTML5中新增的结构元素介绍

在之前的HTML页面中,大家基本上都是用了Div+CSS的布局方式.而seo/seo.html" target="_blank">搜索引擎去抓取页面的内容的时候,它只能猜测你的某个Div内的内容是文章内容容器,或者是导航模块的容器,或者是作者介绍的容器等等.也就是说整个HTML文档结构定义不清晰,HTML5中为了解决这个问题,专门添加了:页眉.页脚.导航.文章内容等跟结构相关的结构元素标签. 1.section    2.article    3.aside    4.