行元素和块元素

块级元素是单独占一行,有宽高可以修改。
行元素不会自动换行,并且元素没有宽和高。
行内块元素不会自动换行,但可以设置宽和高。

1. 先说下 display属性

功能:规定元素显示的类型。

1
display: block;

display 的各种显示类型

描述
none 此元素不会被显示
block 此元素将显示为块级元素,此元素前后带有换行符
inline 此元素将显示为内联元素,此元素前后没有换行符
inline-block 此元素会被显示为行内块元素
list-item 此元素会作为列表显示
run-in 此元素会根据上下文作为块级元素或内联元素显示。
compact CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
marker CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
table 此元素会作为块级表格来显示(类似 table ),表格前后带有换行符。
inline-table 此元素会作为内联表格来显示(类似 table),表格前后没有换行符。
table-row-group 此元素会作为一个或多个行的分组来显示(类似 tbody)。
table-header-group 此元素会作为一个或多个行的分组来显示(类似 thead)。
table-footer-group 此元素会作为一个或多个行的分组来显示(类似 tfoot)。
table-row 此元素会作为一个表格行显示(类似 tr)。
table-column-group 此元素会作为一个或多个列的分组来显示(类似 colgroup)。
table-column 此元素会作为一个单元格列显示(类似 col)
table-cell 此元素会作为一个表格单元格显示(类似 td 和 th)
table-caption 此元素会作为一个表格标题显示(类似 caption)
inherit 规定应该从父元素继承 display 属性的值。

通过display 属性改变标签展示类型,标签会拥有相应类型的标签特点。

2.根据标签默认 display 属性划分类别

2.1 块元素

块元素具备如下特性:
1.默认独占父级的一行,不能够与其他元素处于同一行;
2. 能够设置宽高(换言之:设置宽高无效);3.外边距设置生效。

常见的块元素包括

  • 网页、框架等基本结构块: html,body,iframe.
  • 网页标题块: title.
  • 表单结构块: form,fieldset,legend.
  • 布局结构块: div
  • 标题段落结构块: h1~h6,p
  • 列表结构块: dl,dt,dd,ul,ol
  • 结构装饰块: hr

2.2 行元素

行元素具备如下特性:
1. 默认由内容撑开高度,与其他行元素能够处于同一行;
2. 不能够设置宽高(换言之:设置宽高无效);
3. 纵向外边距失效,横向外边距生效。

常见行元素包括:

  • 行内包含框: span
  • 超链接: a
  • 图像: img
  • 各类文本修饰类标签: abbr,acronym,b,bdo,big,cite,code,del,dfn,em,i,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,u,var等
  • 表单对象包含框: select,button,label,textarea
  • 可执行对象包含框: object

2.3 第三类元素

除了行元素和块元素之外,还存在不少种类的元素,在这里统称为第三类元素

  • display:none;          head,link,meta,style.script等
  • display:list-item;          li,
  • display:table;          table
  • display: table-row;          tr
  • display: table-header-group;          thead
  • display: table-row-group;          tbody
  • display: table-footer-group;          tfoot
  • display: table-column;          col
  • display: table-column-group;          colgroup
  • display: table-cell;          td,th
  • display: table-caption;          caption
  • display: inline-block;          input,option,optgroup

各类元素都可以使用display属性进行元素类型的转换,例如,行和块元素之间可以通过 display:block; 和 display:inline; 命令相互转换。

display:none; 和 visibility:hidden; 均能够实现元素的隐藏,所不同的是,设置display:none; 的元素并不会占据任何物理空间,而设置 visibility: hidden;的元素,虽然视觉上看不到,但依旧会占据物理空间

-------------本文结束感谢您的阅读-------------
hao14293 wechat
交流或订阅,请扫描上方微信二维码