块级元素是指本身属性为display:block的元素。因为它自身的特点,我们通常使用块级元素来进行大布局(大结构)的搭建。
布局上:独占一行,可以容纳内联元素和其他块元素
样式上:设置width、height有效,可以设置盒子模型的相关css属性,
在不设置宽度的情况下,块级元素的宽度是它父级元素内容的宽度
在不设置高度的情况下,块级元素的高度是它本身内容的高度
2、 行内元素:
内联元素是指本身属性为display:inline的元素。因为它自身的特点,我们通常使用块级元素来进行文字、小图标(小结构)的应用。
布局上:和其他元素从左到右在一行排列,只能容纳文本或者其他内联元素(不要在内联元素中嵌套块级元素)
样式上:不能直接控制width、height,只能使用盒模型部分属性,如padding、line_height、margin-left、margin-right。
内联元素的宽高是由本身内容的大小决定(文字、图标等)
3、 行内块状元素:尽可能少的占用横向空间,和其他元素都在一行上;可以设置width、height、margin、padding等盒模型相关属性。
*常用:img、input、td。
display:block;(将元素变为块级元素)
display:inline; (将元素变为行级元素)
display:inline-block;(将元素变为行级块元素)
a. 块元素特立独行;内联元素随波逐流。
b.块元素通常用作网页的主要构建模块,而内联元素常用来标记小段内容(修饰文本)
c.设计一个页面时,一般从较大的块开始 ,然后完善页面的时候再加入内联元素。
d. 对标签能够清晰的分类,掌握标签的特性,在选择标签时避免犹豫不决,提高布局效率。
HTML5新结构标签
HTML5-新的属性语法
HTML5图形
HTML5音视频标签
对本地离线存储的更好的支持
新的表单控件,比如 calendar、date、time、email、url、search
移除的元素:
纯表现的元素:basefont,big,center,font, s,strike,tt,u
对可用性产生负面影响的元素:frame,frameset,noframes;
支持HTML5新标签 : IE8/IE7/IE6支持通过document.createElement方法产生的标签,可以利用这一特性让这些浏览器支持HTML5新标签,浏览器支持新标签后,还需要添加标签默认的样式。当然也可以直接使用成熟的框架、比如html5shim
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
HTML5中新增标签较多,下面说几个常见的<article>
定义外部的内容,外部内容可以是来自一个外部的新闻提供者的一篇新的文章,或者来自 blog 的文本,或者是来自论坛的文本。亦或是来自其他外部源内容。
<aside>
定义 article 以外的内容。aside 的内容应该与 article 的内容相关。
<audio>
定义声音,比如音乐或其他音频流。
<canvas>
定义图形,比如图表和其他图像。
<command>
定义命令按钮,比如单选按钮、复选框或按钮。
<datalist>
定义选项列表。请与 input 元素配合使用该元素,来定义 input 可能的值。datalist 及其选项不会被想显示出来,它仅仅是合法的输入值列表。请使用 input 元素的 list 属性来绑定 datalist。
<details>
用于描述文档或文档某个部分的细节。与
<summary>标签配合使用可以为 details 定义标题。标题是可见的,用户点击标题时,会显示出 details。定义嵌入的内容,比如插件。
<figure>
定义媒介内容的分组,以及它们的标题。用于对元素进行组合。
<figcaption>
定义 figure 元素的标题。”figcaption” 元素应该被置于 “figure” 元素的第一个或最后一个子元素的位置。
<footer>
定义 section 或 document 的页脚。
<header>
定义文档的页眉(介绍信息)。
<hgroup>
定义有关文档中的 section 的信息。用于对网页或区段(section)的标题进行组合。
<keygen>
定义生成密钥。
<mark>
定义带有记号的文本。请在需要突出显示文本时使用 <m>标签。
<meter>
定义度量衡。仅用于已知最大和最小值的度量。
<nav>
定义导航链接的部分。
<output>
定义不同类型的输出,比如脚本的输出。
<progress>
定义任何类型的任务的进度。可以使用 <progress>标签来显示 JavaScript 中耗费时间的函数的进度。
HTML5新增加的标签<article>标签定义外部的内容(结构元素)
<aside>定义页面内容之外的内容。 aside的内容与article的内容相关。(结构元素)
<figure>定义一组媒介内容的分组,以及它们的标题。(结构元素)
<section>标签定义文档中的节(section,区段)。比如章节,页眉,页脚或文档中的其他部分(结构元素)
<meter>定义预定义范围内的度量。仅用于已知最大和最小值的度量(内联元素)
<progress>定义任何类型的任务的进度。可以使用<progress>标签来显示javascript中耗费时间的函数的进度(内联元素)
<time>定义一个日期/时间 (内联元素)
<audio>定义声音内容。(内嵌元素)
audio 元素允许多个 source 元素。source 元素可以链接不同的音频文件。浏览器将使用第一个可识别的格式
<video>定义视频。(内嵌元素)
Ogg支持firefox3.5,opera10.5,chrome3.0
Mpeg 4 支持chrome3.0,safsri3.0
Video也支持多个source元素,链接到不同的视频文件,浏览器将使用第一个可识别的格式
属性值:
autoplay=”autoplay”就绪后马上播放
loop=“loop”播放完再次播放
<command>定义命令按钮 (交互元素)
<datalist>定义下拉列表,与input元素配合使用该元素,定义input可能出现的值,datalist的选项不会被显示出来,它仅仅是合法的输入值列表(交互元素)
<details>定义元素的细节 (交互元素)
<canvas>定义图形,绘制路径,矩形,圆形,字符以及添加图像的方法
Canvas元素本身没有绘图能力,所有的绘制工作必须在javascript内部完成
渐变
<dialog>定义对话(会话)dialog元素表示几个人之间的对话。HTML5dt元素可以表示讲话者,HTML5dd元素可以表示讲话内容。(结构元素)
<embed>定义外部交互内容或插件
<event-source>为服务器发送的事件定义目标
<footer>定义 section 或 page 的页脚
<figcaption>标签定义 figure 元素的标题。
<hgroup>标签用于对网页或区段(section)的标题进行组合。
对网页或区段的标题进行组合
<keygen>标签提供一种验证用户的可靠方法。keygen 元素是密钥对生成器(key-pair generator)。当提交表单时,会生成两个键,一个是私钥,一个公钥。私钥(private key)存储于客户端,公钥(public key)则被发送到服务器。公钥可用于之后验证用户的客户端证书(client certificate)。
<header>定义 section 或 page 的页眉(介绍信息)
<mark>标签定义带有记号的文本。请在需要突出显示文本时使用 <m>标签。
<nav>定义导航链接。
<output>定义输出的一些类型。
<source>定义媒体资源
Ogg支持firefox3.5,opera10.5,chrome3.0
Mpeg 4 支持chrome3.0,safsri3.0
Video也支持多个source元素,链接到不同的视频文件,浏览器将使用第一个可识别的格式
属性值:
autoplay=”autoplay”就绪后马上播放
loop=“loop”播放完再次播放
<ruby>标签定义 ruby 注释(中文注音或字符)在东亚使用