CSS行内元素与块级元素、替换元素与不可替换元素

行内元素

特点:

  • 不会独占一行,相邻的行内元素会在水平方向上排列,直到一行排不下,才会换行
  • 行内元素设置width、height属性无效,它的宽高主要由内容来决定。
  • 行内元素的margin和padding属性,在水平方向(top和bottom)上生效,垂直方向(left和right)上不生效。

块级元素

特点:

  • 会独占一行,垂直方向上排列。默认情况下,宽度自动填满父元素的宽度。
  • 可以设置width和height属性,但即使是设置了宽度,依旧独占一行。
  • 可以设置margin和padding属性。

行内元素和块级元素相互转换

display: block; // 转为块级元素
display: inline; // 转为行内元素

为什么img、input等行内元素可以设置宽高?

元素是文档结构的基础。不同的元素,显式方式会有所不同,例如<div>和<span>,又例如<strong>和<p>也不一样。

在文档类型定义(DTD)中对不同的元素规定了不同的类型。

就元素本身的特点,可以分为替换元素和不可替换元素


替换元素

浏览器根据元素的标签和属性,来决定元素的具体显示内容

例如浏览器会根据<img>标签的src属性的值来读取图片信息并显示出来,而如果查看(X)HTML代码,则看不到图片的实际内容;又例如根据<input>标签的type属性来决定是显示输入框,还是单选按钮等。


不可替换元素

HTML 的大多数元素是不可替换元素,即其内容直接表现给用户端(例如浏览器)


原因:

替换元素一般有内在尺寸,所以具有width和height,可以设定。

例如你不指定img的width和height时,就按其内在尺寸显示,也就是图片被保存的时候的宽度和高度。

对于表单元素,浏览器也有默认的样式,包括宽度和高度。

posted @ 2022-09-28 14:58  笔下洛璃  阅读(119)  评论(0编辑  收藏  举报