HTML+CSS:html元素分类之块级元素、内联元素、内联块级元素

html元素主要分为3类,块级元素、内联元素以及内联块级元素,本篇文章我们来就详细介绍一下各个分类的含义以及对应的特点。
(1)块级元素
在html中div、 p、hx、form、ul 、 li、dl、dd就是块级元素。css属性设置display:block就是将元素显示为块级元素。块级元素特点:
1、每个块级元素都从新的一行开始,并且其后的元素也另起一行;(一个块级元素独占一行)
2、元素的高度、宽度、行高以及顶和底边距都可设置;
3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。
我们这里将块级元素代码写一下然后看一下在浏览器中的显示效果。html代码就如下所示:

在网页中我们可以看到,这些元素每一个都单独占据一行的空间,不管内容是否够一行。

(2)内联元素
在html中,span、a、label、input、 strong 和em就是典型的内联元素(行内元素)(inline)元素。当然块状元素也可 以通过代码display:inline将元素设置为内联元素。内联元素特点:
1、和其他元素都在一行上;
2、元素的高度、宽度、行高及顶部和底部边距不可设置;
3、元素的宽度就是它包含的文字或图片的宽度,不可改变。
注意:为 a 元素设置了宽和高,但都没有起到作用,原因是a在默认的时候是内联元素,内联元素是不可以设置宽和高的。
我们这里将内联元素代码写一下然后看一下在浏览器中的显示效果。html代码就如下所示:

在网页中我们可以看到,这些元素会在一行一直排着显示,直到充满整行空间才会换行显示。

(3)内联块级元素
内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,代码display:inline-block就是将元素设置为内联块状元素。inline-block元素特点:
1、和其他元素都在一行上;
2、元素的高度、宽度、行高以及顶和底边距都可设置。
注意:img是inline元素,但是他同时也是替换元素,他有着特殊的表现:
1. 可以设置width/height;
2. 默认的,img元素在屏幕占据的空间与其图片的实际像素一致,除非CSS有设置或者自身的width/height HTML 属性有设置;
3. 如果img标签的包裹元素为也为inline元素,则img的边界可以超出其直接父元素的边界,直到自己的宽、高达到最大或者设定值为止,而且文档流中img的兄弟元素也不能遮盖住img。最常见的就是a里面包含的img;
4. 所以从行为上看,img元素作为替换元素,有着类似于Inline-block的行为,尽管在SPEC里面,他的确是一个inline元素。
对于html的元素分类今天就先介绍到这里,大家在平时可以自己多加练习练习,做到每个标签属于什么元素。