总结CSS块元素、行内元素、行内块元素的区别

327 阅读2分钟

块元素 block

  • 每个块级元素独占一行,新的块级元素从新的一行开始,默认垂直向下排列
  • 宽、高、padding、margin的设置都是有效的
  • 宽度没有设置时,默认是100%
  • 块级元素中可以包含会计元素和行内元素
 <address>  // 定义地址 
 <caption>  // 定义表格标题 
 <dd>      // 定义列表中定义条目 
 <div>     // 定义文档中的分区或节 
 <dl>    // 定义列表 
 <dt>     // 定义列表中的项目 
 <fieldset>  // 定义一个框架集 
 <form>  // 创建 HTML 表单 
 <h1>    // 定义最大的标题
 <h2>    // 定义副标题
 <h3>     // 定义标题
 <h4>     // 定义标题
 <h5>     // 定义标题
 <h6>     // 定义最小的标题
 <hr>     // 创建一条水平线
 <legend>    // 元素为 fieldset 元素定义标题
 <li>     // 标签定义列表项目
 <noframes>    // 为那些不支持框架的浏览器显示文本,于 frameset 元素内部
 <noscript>    // 定义在脚本未被执行时的替代内容
 <ol>     // 定义有序列表
 <ul>    // 定义无序列表
 <p>     // 标签定义段落
 <pre>     // 定义预格式化的文本
 <table>     // 标签定义 HTML 表格
 <tbody>     // 标签表格主体(正文)
 <td>    // 表格中的标准单元格
 <tfoot>     // 定义表格的页脚(脚注或表注)
 <th>    // 定义表头单元格
 <thead>    // 标签定义表格的表头
 <tr>     // 定义表格中的行

行内元素 inline

  • 行内元素不会独占一行,与相邻的标签在同一行
  • 宽高的设置无效,padding和margin仅在左右方向上有效,上下方向无效。
  • 设置行高有效,等同于父级元素的行高
  • 行内元素中不能放块级元素,a链接里面不能再放链接
 <a>     // 标签可定义锚 
 <abbr>     // 表示一个缩写形式 
 <acronym>     // 定义只取首字母缩写 
 <b>     // 字体加粗 
 <bdo>     // 可覆盖默认的文本方向 
 <big>     // 大号字体加粗 
 <br>     // 换行 
 <cite>     // 引用进行定义 
 <code>    // 定义计算机代码文本
 <dfn>     // 定义一个定义项目
 <em>     // 定义为强调的内容
 <i>     // 斜体文本效果
 <kbd>     // 定义键盘文本
 <label>     // 标签为 input 元素定义标注(标记)
 <q>     // 定义短的引用
 <samp>     // 定义样本文本
 <select> // 创建单选或多选菜单
 <small>     // 呈现小号字体效果
 <span>     // 组合文档中的行内元素
 <strong> // 加粗
 <sub>     // 定义下标文本
 <sup>     // 定义上标文本
 <textarea>     // 多行的文本输入控件
 <tt>     // 打字机或者等宽的文本效果
 <var>    // 定义变量

行内块元素 inline-block

  • 宽、高、padding、margin的设置都有效
  • 默认宽度就是本身内容的宽度
  • 不独占一行,和相邻行内元素(行内块)在一行上,但是之间有空白凤凰西
<button> 
<input>   
<textarea> 
<select> 
<img>

元素类型转换 display

  • display:block ,定义元素为块级元素
  • display:inline ,定义元素为行内元素
  • display:inline-block ,定义元素为行内块元素