行内元素与块级元素的区别

 一、内联元素:

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)**进行浮动来水平排列

      - 块级元素可以设置宽高,而且宽度高度、外边距、内填充随意设置

三、行内块元素

- 集合了行内元素和块级元素的特性

- 特征

      - 不自动换行

      - 可以识别宽高

      - 默认排列从左到右

四、内联元素和块级元素之间的关联

      - 块级元素可以包含行内元素和块级元素,还可以容纳内联元素和其他元素

      - 内联元素不能包含块级元素,只能容纳文本或者其他内联元素

你可能感兴趣的:(行内元素与块级元素的区别)