#一天一个前端小知识
元素根据 CSS 盒类型(type of CSS box)可以分为两类:块级元素和行内元素。
1. 块级元素(block-level element)
常见的块级元素有<h1>~<h6>
、<div>
、<p>
、<ul>
、<ol>
、<li>
、<audio>
、<video>
、<canvas>
、<form>
、<table>
等,其中<div>
是最典型的块级元素。
块级元素的特点:
- 默认情况下,块级元素会独占一行
- 高度、宽度、外边距、内边距都可以控制
- 宽度默认是父级元素(容器)的100%
- 标签里可以放块级元素或行内元素
注意:
- 文字类的元素内不能使用块级元素
- 如
<p>
标签主要用于存放文字,因此里面不能放块级元素,特别是不能放<div>
- 同理,
<h1>~<h6>
等都是文字类块级标签,里面也不能放其他块级元素
2. 行内元素(inline-level element)
常见的行内元素有<a>
、<strong>
、<em>
、<i>
、<del>
、<s>
、<ins>
、<u>
、<span>
、<img>
、<input>
、<button>
、<textarea>
等,其中<span>
是最典型的行内元素。有的地方也将行内元素称为内联元素。
行内元素的特点:
- 相邻行内元素在一行上,即一行可以显示多个行内元素
- 行内元素无法直接设置高度和宽度
- 默认宽度就是它本身内容的宽度
- 行内元素只能容纳文本或其他行内元素
注意:
- 链接里面不能再放链接
- 特殊情况下,链接
<a>
里面可以放块级元素
3. 行内块元素(inline-block element)
在行内元素中,有几个特殊的标签——<img />
、<input />
、<td>
,它们同时具有块元素和行内元素的特点。
行内元素的特点:
- 和相邻行内元素在一行上,但是它们之间会有空白缝隙。一行可以显示多个(行内元素的特点)
- 默认宽度就是它本身内容的宽度(行内元素的特点)
- 高度,行高,外边距以及内边距都可以控制(块级元素的特点)