inline、block和inline-block的区别

block:div h1 li

块级元素特点:

1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(很霸道,一个块级元素独占一行)

2、元素的高度、宽度、行高以及顶和底边距都可设置。

3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

inline

内联元素特点:

1、和其他元素都在一行上;

2、元素的高度、宽度及顶部和底部边距不可设置;

3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

inline-block

内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点。

inline-block 元素特点:

1、和其他元素都在一行上;

2、元素的高度、宽度、行高以及顶和底边距都可设置。

块级元素主要有

  •  div , h1 , h2 , h3 , h4 , h5 , h6 , hr , p , ul , li , dl , ol , form , address , blockquote , center , dir ,  fieldset , isindex , menu , noframes , noscript ,  pre , table

内联元素主要有

  •  span , input , a , i , img  ,strong ,  select , br , textarea ,  abbr , acronym , b , bdo , big , cite , code , dfn , em , font , kbd , label , q , s , samp , small , strike , sub , sup , tt , u , var

可变元素(根据上下文关系确定该元素是块元素还是内联元素)

  • applet ,button ,del ,iframe , ins ,map ,object , script

CSS中块级、内联元素的应用:

利用CSS我们可以摆脱上面表格里HTML标签归类的限制,自由地在不同标签/元素上应用我们需要的属性。

主要用的CSS样式有以下三个:

  • display:block  -- 显示为块级元素
  • display:inline  -- 显示为内联元素
  • display:inline-block -- 显示为内联块元素,表现为同行显示并可修改宽高内外边距等属性

我们常将所有<li>元素加上display:inline-block样式,原本垂直的列表就可以水平显示了。

元素之间的包含关系:

 block元素可以包含block元素和inline元素;

但inline元素只能包含inline元素。

要注意的是这个是个大概的说法,每个特定的元素能包含的元素也是特定的,所以具体到个别元素上,这条规律是不适用的。比如 P 元素,只能包含inline元素,而不能包含block元素。

原文地址:https://www.cnblogs.com/ella-li/p/14636732.html