在HTML中元素可分为两大基本类型,块级
元素(block element)和行内
元素(inline element)。
块级元素
元素前后带
有换行符
,此元素总是单独占据一行;宽度缺省是它的容器的100%;
可以
设置width,height属性;(注意:块级元素即使设置了宽度,仍然是独占一行的);可以设置margin和padding;
块级元素只能出现在
body
元素内;一般块级元素可以包含行内元素和其他块级元素。这种结构上的包含继承区别可以使块级元素创建比行内元素更”大型“的结构。
行内元素
元素前后
没有换行符
,和其他元素都在一行上;设置width,height无效。(可以使用css将元素变为块级元素,设置宽高);
宽度就是元素内文字或图片的宽度;
行内元素的水平方向的padding-left,padding-right,margin-left,margin-right 都产生边距效果,但是竖直方向的padding-top,padding-bottom,margin-top,margin-bottom都不会产生边距效果(水平方向有效,竖直方向无效);
行内元素只能包含文本或者其他行内元素。
可变元素
可变元素是根据上下文语境决定该元素为块级元素或者行内元素。
空元素
不存在子节点的元素。
附:
常见的块级元素
- address - 地址
- article - 文章内容 (HTML5)
- aside - 伴随内容(HTML5)
- audio - 音频播放(HTML5)
- blockquote - 块引用
- canvas - 绘制图形
- dd - 定义列表中定义条目描述
- div - 常用块级容易,也是css layout的主要标签
- dl - 定义列表
- fieldset - form控制组
- form - 交互表单
- figcaption - 图文信息组标题(HTML5)
- figure - 图文信息组(HTML5),参照 figcaption
- footer - 区段尾或页尾(HTML5)
- h1 - 大标题
- h2 - 副标题
- h3 - 3级标题
- h4 - 4级标题
- h5 - 5级标题
- h6 - 6级标题
- header - 区段头或页头
- hgroup - 标题组
- hr - 水平分隔线
- noscript - 可选脚本内容(对于不支持script的浏览器显示此内容)
- menu - 菜单列表
- noframes - frames可选内容,(对于不支持frame的浏览器显示此区块内容
- ol - 有序列表
- output - 表单输出(HTML5)
- p - 段落
- pre - 格式化文本
- section - 一个页面片段
- table - 表格
- tfoot 表脚注
- ul - 非排序列表
- video - 视频(HTML5)
常见的行内元素
- a - 锚点
- abbr - 缩写
- acronym - 首字 (HTML5 中不支持 <acronym> 标签。请使用 <abbr> 标签代替。)
- b - 粗体(不推荐)
- br - 换行
- 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 - 定义变量
常见的可变元素
- applet - java applet
- button - 按钮
- del - 删除文本
- iframe - inline frame
- ins - 插入的文本
- map - 图片区块(map)
- object - object对象
- script - 客户端脚本
常见的空元素
- area - 在图片上定义一个热点区域
- base - 指定用于一个文档中包含的所有相对URL的基本URL。一份中只能有一个<base>元素。
- br - 换行
- col - 表格中的列
- colgroup when the span is present // 表格列组
- command - 表示一个用户可以调用的命令
- embed - 用于表示一个外部应用或交互式内容的集合点,换句话说,就是一个插件。
- hr - 分隔线
- img - 图片
- input - 文本框等
- keygen - 用于 HTML 表单与其他的所需信息一起构造一个证书请求(已废弃)
- link - 指定了外部资源与当前文档的关系. 常用语引入css文件
- meta - 表示那些不能由其它HTML元相关元素表示的任何元数据信息.
- param - 定义了 <object>的参数
- source - 具体说明多媒体资源的类型
- track - 被当作媒体元素—<audio> 和 <video>的子元素来使用。
- wbr - 一个文本中的位置,其中浏览器可以选择来换行,虽然它的换行规则可能不会在这里换行。
参考资料: