内联元素和块状元素的区别
html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。
内联元素
在html中,<span>、<em>、<a>、<p>等标签是典型的内联元素。当然块状元素也可以通过设置display:inline;显示为内联元素,从而使块级元素具有内联元素的特点。
div{
display:inline;
}
...
<div>我要变成内联元素!</div>
内联元素的特点:
1、和其他元素在同一行上,不独占一行;
2、元素的高度、宽度及顶部底部边距不可设置;
(ps:内联元素的顶部底部边距margin-top及margin-bottom属性不起作用,而margin-left及margin-right属性可以起作用。padding属性top、bottom、left、right也可起作用,但是padding-top属性最多只能撑到浏览器顶部,padding-top高于浏览器顶部,元素不会下移。当为行内元素添加背景时可以使用padding,但是背景色会覆盖周围元素。)
3、元素的宽度就是元素所包含的图片或文字的宽度,不可设置;
*:当行内元素之间有“回车”、“tab”、“空格”时就会出现间隙。
解决方法:写在一行,中间不要有空格、回车之类的符号。
块状元素
在html中<div>、 <p>、<h1>、<form>、<ul> 和 <li>就是块状元素。内联元素可以通过设置display:block;显示为块状元素。
如:a{display:block;}
块级元素的特点:
1、每个块状元素都从新的一行开始,并且其后的元素也另起一行(独占一行);
2、元素的高度、宽度、行高以及顶和底边距都可设置;
3、元素宽度在不设置的情况下,占它本身父容器的100%(和父元素宽度一致);
内联块状元素
内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,代码display:inline-block
就是将元素设置为内联块状元素。<img>、<input>标签就是这种内联块状标签。
内联块状元素特点:
1、和其他元素都在一行上;
2、元素的高度、宽度、行高以及顶和底边距都可设置。