行内元素与块级元素的区别
一、内联元素:
1、内联元素的理解
- 行内元素:**display:inline**
- 内联元素和其他元素可以在一条水平线上
- 内联元素不可以可以设置宽高。
- 内联元素的宽高由元素中的内容决定。
- 当元素中是文本时,内联元素的宽度由文字的大小和文本内容的长短决定,高度由文字的大小决定。
- 高度设置方面:行高(line-height)可以设置内联元素的高度
- 宽度设置方面:外边距margin上下无效,左右有效。内填充padding上下无效,左右有效。
- 特例的标签:img [虽然是行内标签,但是仍可以设置宽高]
2、margin对于内联元素的影响
- margin对于内联元素的影响分为替换元素(replaced element)和非替换元素(non-replaced element)来分类
- (根据是否具有可替换内容将元素分为可替换元素和非替换元素)。
- 在H5中,替换元素:作为占位符的一个元素,比如img和input。
- 非替换元素:内容包含在文档的元素,eg:div等,内容放在标签本身里面
- Margin使用有效部分:
- 替换元素和非替换元素均有效:左右外边距有效(margin-left、margin-right),
- 单对于替换元素有效:上下边距有效(margin-top、margin-bottom)
- Margin使用无效部分:
- 对于非替换元素:margin不会改变其行高(line-height)。不能改变内联元素的上下边距(margin-top、margin-bottom)
- 对于替换元素:无
3、padding对于内联元素的影响
- 分为替换元素和非替换元素来进行讨论
- padding使用有效部分:
- 替换元素和非替换元素均有效:左右内边距有效(padding-left、padding-right)
- 单对于替换元素:父级没有设置样式时,上下边距效果可以实现
- 单对于非替换元素(eg:div)有效:上下内边距有效(padding-top、padding-bottom)
- 注意点:上下内边距不会改变元素的line-height。
- padding使用无效部分:
- 替换元素若父级元素指定了宽和高,则里面的元素如何变化也不会撑大父级元素
二、块级元素
- 块级元素单独占一行,总在新的一行中开始进行排序。
- 单个元素独占一行,垂直向下排列。如若要**块级元素水平排列:使用(float:left/right)**进行浮动来水平排列
- 块级元素可以设置宽高,而且宽度高度、外边距、内填充随意设置
三、行内块元素
- 集合了行内元素和块级元素的特性
- 特征
- 不自动换行
- 可以识别宽高
- 默认排列从左到右
四、内联元素和块级元素之间的关联
- 块级元素可以包含行内元素和块级元素,还可以容纳内联元素和其他元素
- 内联元素不能包含块级元素,只能容纳文本或者其他内联元素
发表评论 (审核通过后显示评论):