html元素的三种显示方式

发布时间 2023-11-04 19:09:57作者: lmj625

原创声明:本文所有图片和代码皆由本人制作和编写。

前言

在我无数次妄图设置块级元素的vertical-align、块级父元素的text-align以及行内元素的宽高并尝试无果之后,决定写下这个文章提醒健忘的我自己。


行内元素

性质

  • 可允许多个行内元素在一行
  • 超出一行就会占用下一行,从左向右排列
  • 内容决定默认宽高
  • 不可设置宽高
  • 上下外边距的设置无效

典型元素

span,a



块级元素

性质

  • 一个独占一行
  • 内容决定高度
  • 默认宽度继承自父元素
  • 可设置宽高
  • 元素前后会带换行符

典型元素

div,h系列,p,列表(ul,ol,li,dl,dt,dd),表格语义皮套(table,thead,tbody,thead),表单标签form



行内块元素

性质

  • 视作不独占一行的块级元素

典型元素

img,单元格(td,th),表单控件(input,button,select...),iframe



常见遗忘情况

  • 因为这些元素的默认高度都是由内容决定,所以没有内容就不会显示出来,即使设置了背景颜色。
  • 因为div是块级元素,所以div嵌套div是没办法用text-align水平居中对齐的。
  • 对块级元素ul也无法使用vertical-align居中于父容器,可使用行高。
  • 因为span是行内元素,所以是无法设置宽高的。