css布局(行内元素,块级元素,行内块元素)

37 阅读1分钟

块级元素(block)

典型代表:

<div><p><h1>~<h6><ul><li><section>... 

特点:

  • 独占一行
  • 宽度默认占满父类容器宽度
  • 可以设置width、height、margin、padding
  • 子元素可以是任何类型

例子:

<div style="background: red;">A</div>
<div style="background: blue;">B</div>

行内元素(inline)

典型代表:

<span><a><strong><em><i><img>*(例外情况)、<label>

特点:

  • 不会独占一行(跟文字一样一行内排列)
  • 不能设置width/height(宽高取决于内容)
  • margin上下无效,左右有效
  • padding上下虽然有效,但不改变元素所占“文本行高度”
  • 通常用于包裹少量文本

行内块元素(inline-block)

典型代表:

<img><input><button><select>

或者通过css改变:

display: inline-block;

特点:

  • 像行内块元素一样一行可以并排
  • 但像块级元素一样可以设置宽高
  • margin和padding都完全生效

变更显示模式

几乎所有元素都可以通过css改变成其他类型的显示模式,html标签的默认类型只是“默认值”

块级元素 -> 行内元素/行内块元素

例如:

  • 改成inline(行内元素)
div {
  display: inline;
}

效果:多个div一行排列,就像span一样

  • 改成 inline-block(行内块)
div {
  display: inline-block;
}

效果:可以一行排列,也可以设置宽高

行内元素 -> 块级/行内块

  • 改成block(变成大盒子独占一行)
span {
  display: block;
}
  • 改成 inline-block(最常用)
span {
  display: inline-block;
}

这样span就能设置宽高,padding,margin

行内块元素

  • block
img {
  display: block;
}

图片就可以换行,像div一样表现

  • 改成inline
img {
  display: inline;
}

图片就会被当做文本来排列