1,块元素{display:block;}:一般是其他元素的容器,可容纳内联元素和其他块状元素,块状元素排斥其他元素与其位于同一行,宽度和高度起作用。常见块状元素div,p,body,h1~h6等。
---块状元素很霸道,能设宽和高!独占一行!
---块元素(block element) * 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 - 非排序列表
2,内联元素{display:inline;}:内联元素只能容纳文本或者其他内联元素,它允许其他内联元素与其位于同一行,但宽度和高度不起作用。常见内联元素为a,em,span等。
---内联元素很温柔,不能设宽和高!不影响换行!就像橡皮筋包住字。
---行内元素不会另起一行只占据它对应的标签的边框所包含内容的空间,只能包含数据和其他行内元素。行级元素不能设置宽高,不能设置上下margin
、和padding
。
---行内元素会生成一个内容区,类似于块级元素的content部分,内容区的大小与字体的大小相等。内容区加上文字的上下边距就等于行内框的高度,可以通过设置line-height的高度控制行内框的高度。
---a标签是内联元素,设置宽高是不起作用的。
---内联元素(行内元素)内联元素(inline element)
* 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 - 最常用内联容器(和div一样常用),定义文本内区块 * strike - 中划线 * strong - 粗体强调 * sub - 下标 * sup - 上标 * textarea - 多行文本输入框 * tt - 电传文本 * u - 下划线 * var - 定义变量
3,替换元素
在行级元素中替换元素是一个例外,他既可以设置宽高,也可以设置margin
和padding
,它类似于inline-block
。
4,可变元素,一般不用!!! 可变元素为根据上下文语境决定该元素为块元素或者内联元素。
* applet - java applet * button - 按钮 * del - 删除文本 * iframe - inline frame * ins - 插入的文本 * map - 图片区块(map) * object - object对象 * script - 客户端脚本
5,行级元素与块级元素的嵌套关系
- 行级元素嵌套行级元素
- 块级元素嵌套块级元素,块级元素内嵌套行级元素。
- 少数块级级元素不能嵌套块级元素例如:p不能嵌套div标签,标题标签中最好不要嵌套div。
- 行级元素不能嵌套块级元素。