`
deng131
  • 浏览: 662006 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

HTML 块级元素/内联元素

阅读更多
块级元素的分类

块级元素按照其应用于结构还是内容分为三种:结构化块状元素,终端块状元素,多目标块状元素。

一.结构化块状元素

这类元素用于构造文档的结构,一个好的文档结构对于搜索引擎和应用其他技术(如JavaScript)都是十分有利的。它们没有语义上的含义,仅仅划分出了文档的组织方式,并没有体现文档的内容。

主要的结构化块状元素

    * <ol>
    * <ul>
    * <dl>
    * <table>

支持结构化的元素

    * <li>
    * <dt>
    * <dd>
    * <caption>
    * <thead>
    * <tbody>
    * <tfoot>
    * <colgroup>
    * <col>

二.终端块状元素

这类元素用于从结构转向内容,它们拥有语义上的含义,能够表明内容的性质。终端块状元素属于结构的终点,它们不能再包含其他块级元素,只能包含文本或行级元素。

终端块状元素

    * <h1>...<h6>
    * <p>
    * <blockquote>
    * <dt>
    * <address>
    * <caption>

三.多目标块状元素

所谓多目标指的是可以自由的扩展或嵌套文档的结构,以可以终端的形式出现。当多目标块状元素以结构化的方式使用时就含有结构化的内涵,以终端的形式使用就含有语义的内涵。

多目标块状元素既可以包含块状元素,也可以包含内容(文本与行级元素的组合为内容),但不能同时包含两者。应该把内容放在块状元素中。块状元素不应作为行级元素与文本的兄弟元素,受HTML校验器的限制,目前还没办法检验出此种情况,但是应该避免。

多目标块状元素

    * <div>
    * <li>
    * <dd>
    * <td>
    * <form>
    * <noscript>

在谈论CSS布局时,我们需要提前知道一些东西。对于html各种标签/元素,可以从块的层面做一个分类:要么是block(块元素),要么是inline(内联元素):

block元素的特点:

    * 总是另起一行开始;
    * 高度,行高以及顶、底边距都可控制;
    * 宽度缺省是它所在容器的100%,除非设定一个宽度。

inline元素的特点:

    * 和其它元素都在一行上;
    * 高度,行高以及顶、底边距不可改变;
    * 宽度就是它所容纳的文字或图片的宽度,不可改变。

下面对它们的性质及应用做进一步说明:
◎块元素(block element) 通常作为其它元素的容器,它可以容纳内联元素和其它块元素。
我们知道默认情况下,块元素会顺序以每次另起一行的方式往下排,而通过CSS控制其样式,我们可以改变这种默认布局模式,把块元素摆放到你想要的位置上 去。需要指出的是,table标签也是块元素的一种,基于table表格和基于CSS+DIV的布局,在使用者看来除了页面载入速度的差别(table在 所有内容元素加载完成后才显示),没有其它的差别。但是从页面的源代码来看,这种差异就非常大了。基于良好结构理念设计的CSS布局源码,至少能让没有 web开发经验的用户很容易找到连续的页面内容。从这个角度来说,CSS layout code应该有更好的美学体验。
我们可以把模块化的DIV想象成一个个box,然后把它们按自己的意愿排列组成完整的内容,网页布局设计就是遵循了同样的模式。

块元素(block element) HTML标签分类明细

    * address - 地址
    * blockquote - 块引用
    * center - 举中对齐块
    * dir - 目录列表
    * div - 常用块级容易,也是css layout的主要标签
    * dl - 定义列表
    * fieldset - form控制组
    * form - 交互表单 (只能用来容纳其它块元素)
    * h1 - 大标题
    * h2 - 副标题
    * h3 - 3级标题
    * h4 - 4级标题
    * h5 - 5级标题
    * h6 - 6级标题
    * hr - 水平分隔线
    * isindex - input prompt
    * menu - 菜单列表
    * noframes - frames可选内容,(对于不支持frame的浏览器显示此区块内容
    * noscript - 可选脚本内容(对于不支持script的浏览器显示此内容)
    * ol - 排序表单
    * p - 段落
    * pre - 格式化文本
    * table - 表格
    * ul - 非排序列表

◎内联元素(inline element) 一般都是基于语义级(semantic)的基本元素,只能容纳文本或者其它内联元素。

  为了比较明确的表现出 block 与 inline 的区别,我们可以利用它们各自的代表元素div和span的演示进行说明:

XXXXXXXXX

This's a DIV layout

XXXXXXXXX
div另起一行,它的形状不受内部文字的影响
XXXXXXXThis's a span layoutXXXXXXX 所有元素在一行,span刚好包容文字
内联元素(inline element) HTML标签分类明细

    * a - 锚点
    * abbr - 缩写
    * acronym - 首字
    * b - 粗体(不推荐)
    * bdo - bidi override
    * big - 大字体
    * br - 换行
    * cite - 引用
    * code - 计算机代码(在引用源码的时候需要)
    * dfn - 定义字段
    * em - 强调
    * font - 字体设定(不推荐)
    * i - 斜体
    * img - 图片
    * input - 输入框
    * kbd - 定义键盘文本
    * label - 表格标签
    * q - 短引用
    * s - 中划线(不推荐)
    * samp - 定义范例计算机代码
    * select - 项目选择
    * small - 小字体文本
    * span - 常用内联容器,定义文本内区块
    * strike - 中划线
    * strong - 粗体强调
    * sub - 下标
    * sup - 上标
    * textarea - 多行文本输入框
    * tt - 电传文本
    * u - 下划线
    * var - 定义变量

◎可变元素 是基于以上两者随环境而变化的,它的基本概念就是根据上下文关系确定该元素是块元素还是内联元素。一旦确定了它的类别,它就遵循块元素或者内联元素的规则限制。

可变元素  HTML标签分类明细

    * applet - java applet  
    * button - 按钮  
    * del - 删除文本  
    * iframe - inline frame  
    * ins - 插入的文本  
    * map - 图片区块(map)  
    * object - object对象  
    * script - 客户端脚本

但是通过CSS,我们可以摆脱上面表格里HTML标签归类的限制,自由地在不同标签/元素上 应用我们需要的属性。例如,我们可以对块元素[ ul ]标签加上 display:inline 属性,让原本垂直的列表水平显示,这在我们设置Blog导航条时得到了广泛应用;我们也完全可以把内联元素[ cite ]加上 display:block 这样的属性,让它也有每次都从新行开始的属性。
分享到:
评论
3 楼 zhouyicang 2015-10-07  
为嘛人气不够,这么好的文章,我找了几十篇博客,才找到这篇解惑了!如此好文,这点人气,对不起博主啊!
2 楼 young7 2014-11-07  
不错,解惑了
1 楼 weian 2011-08-30  
顿时豁然开朗

相关推荐

    web前端:表单、块级元素、内联元素、iframe嵌套框架、扩展后端mvc模式

    内容偏门,适合打基础,补足基础的同志们

    html内联元素和块级元素的基本概念及使用示例

    html标签分为两种,内联元素和块级元素,首先我们先了解一下内联元素和块级元素的概念: 块级元素:一般是其它元素的容器,可容纳内联元素和其它块级元素,块级元素排斥其它元素与其位于同一行,可设置宽度(width)...

    块级元素和内联元素及可变元素汇总

    块元素又名块级元素,和其对应的是内联元素,都是html规范中的概念,内联元素其中文叫法有多种,如:内联元素、内嵌元素、行内元素、直进式元素等

    浅谈CSS块级元素与行内元素(内联元素)的区别和联系

    在css盒子模型中,我们提到了html元素中的块元素(block element)和内联元素(inline element)。那么它们究竟是什么呢? 其实,这两种元素都是html规范中的概念。块元素(block element)一般是其他元素的容器元素...

    html 内联元素和html 块级元素概述及区别

    块级元素(block)特性:总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示;内联元素(inline)特性:和相邻的内联元素在同一行,接下来为大家详细介绍下,感兴趣的朋友可以参考下哈

    html 块级标签与内联标签的区别

    1. Block-level element: 指能够独立存在, 一般的块级元素之间以换行(如一个段落结束后另起一行)分隔....3. Top-level element: 包括html, body, frameset, 表现如Block-level element, 属于高级块级元素.

    前端日记01_行内元素和块级元素

    从html的角度看标签分为行级元素/内联元素(inline)、块级元素(block)、行级块元素(inline-block)、其他元素。 行级元素: 设置宽高属性无效 与其他行级元素在一行,不设置高度时,默认高度为文字高度 设置margin:...

    html之CSS设计(float定位和position定位详细分析)

    文章目录一、float浮动二、position定位 今天来谈谈网页设计中的...前几篇文章中都提到了块级(block)标签和内联(inline)标签,其实这些标签就是所谓的块级元素和内联元素。常见的都有以下几种, 块级元素有 div、

    HTML5&CSS3网页制作:元素的类型.pptx

    块级元素总是从新的一行开始并占据可用的全宽度 块状元素 常见的块状元素 — 其中标记是最典型的块状元素。 内联元素 标签在一行内,宽度和高度由内容决定,只有在内容超过HTML的宽度时,才会换行; 表现形式...

    标签 li 是不是块级元素分析

    为什么它可以设定高度,但又不像 &lt;h1&gt; 这些元素,那种感觉就像它是个“半内联的(内联:inline-level)元素。HTML 4是这样描述的: The following elements may also be considered block-level elements since ...

    基于文档流解读html元素的(css)定位形式

     内联元素也不会独有一行. 简直一切元素(包括块级,内联和列表元素)均可生成子行, 用于摆放子元素。  有三种状况将使得元素离开文档流而存在,分别是浮动、绝对定位、固定定位. 然则在IE中浮动元素也存在于文档流中

    HTML开发王

    15.6.1 块级元素和行内级元素的不同 15.6.2 关于div元素和span元素 15.6.3 元素标识(id属性和class属性) 15.7 巩固与自测 第16章 应用表格和框架布局 16.1 使用表格进行网页设计和布局的方法 16.1.1 了解布局模块 ...

    CSS块级元素与行级元素详解

    块元素一般都从新行开始,它可以容纳内联元素和其他块元素,常见块元素是段落标签’P"。“form"这个块元素比较特殊,它只能用来容纳其他块元素。 .如果没有css的作用,块元素会顺序以每次另起一行的方式一直往下排。...

    css float属性_动力节点Java学院整理

    HTML页面的标准文档流(默认布局)是:从上到下,从左到右,遇块(块级元素)换行。 浮动层 浮动层:给元素的float属性赋值后,就是脱离文档流,进行左右浮动,紧贴着父元素(默认为body文本区域)的左右边框。而此浮动...

    企业网站开发技术实验文档

    实验三:CSS --- 基本的颜色表示(英文单词表示、rgb、16进制)、a标签伪类、盒模型、块级元素页面水平居中、行内元素水平居中、行内元素垂直居中 实验四:CSS --- 标准文档流的特性、块级元素和行内元素的特性

    Web前端基础:HTML5文本标签.pptx

    浏览器会自动地在段落的前后添加空行是块级元素 2 2 &lt;div&gt; 元素是块级(block)元素,它是可用于组合其他HTML元素的容器。 &lt;div&gt; 元素没有特定的含义。除此之外,由于它属于块级元素,浏览器会在其前后换行。 &lt;span&gt; ...

    常见的HTML标记错误写法

    罪行1:把块级元素放入了内联元素内 HTML 元素的表现方式不外乎就两种:块级和内联.每一个标签都有默认的表现方式不是块级就是内联.像div和p 就是块级元素,他们用来形成文档结构.内联元素只能在块级元素内.   罪行2:...

Global site tag (gtag.js) - Google Analytics