HTML的display属性将行内元素、块状元素、行内块状元素互相转换以及三者的区别

1.行内元素

(1)设置宽高无效

(2)对margin仅设置左右方向有效,上下无效;padding设置上下左右都有效,即会撑大空间

(3)不会自动进行换行

<html>
<head>
<meta charset="utf-8" />
<title>行内元素</title>
<style type="text/css">
span {
width: 120px;  /*设置宽高无效*/
height: 120px; /*设置宽高无效*/
margin: 20px; /*左右方向有效,上下无效*/
padding: 20px;  /*padding设置上下左右都有效*/
background:#009933;
}
</style>
</head>
<body>
<span>代码改变世界</span>
</body>
</html>

2.块状元素

(1)能够识别宽高

(2)margin和padding的上下左右均对其有效

(3)可以自动换行

(4)多个块状元素标签写在一起,默认排列方式为从上至下

<html>
<head>
<meta charset="utf-8" />
<title>测试案例</title>
<style type="text/css">
div {
width: 200px; /*能够识别宽高*/
height: 100px; /*能够识别宽高*/
margin: 20px;  /*margin的上下左右均对其有效*/
padding: 20px;  /*padding的上下左右均对其有效*/
background:#009933;
}
</style>
</head>
<body>
<div>代码改变世界</div>
<div>代码改变世界</div>
</body>
</html>

3.行内块状元素

行内块状元素综合了行内元素和块状元素的特性,但是各有取舍。因此行内块状元素在日常的使用中,由于其特性,使用的次数也比较多。

(1)不自动换行

(2)能够识别宽高

(2)margin和padding的上下左右均对其有效

(3)默认排列方式为从左到右

<html>
<head>
<meta charset="utf-8" />
<title>行内块状元素</title>
<style type="text/css">
div {
display: inline-block;  /*转换为行内块状元素*/
width: 100px;
height: 50px;   /*能够识别宽高*/
margin: 20px;
padding: 20px;  /*margin和padding的上下左右均对其有效*/
background: lightblue;
}
</style>
</head>
<body>
<div>代码改变世界</div>
<div>代码改变世界</div>
</body>
</html>

4.display属性转换

(1)display:inline;转换为行内元素

(2)display:block;转换为块状元素

(3)display:inline-block;转换为行内块状元素

5.行内元素列表

<a>标签可定义锚
<abbr>表示一个缩写形式
<acronym>定义只取首字母缩写
<b>字体加粗
<bdo>可覆盖默认的文本方向
<big>大号字体加粗
<br>换行
<cite>引用进行定义
<code>定义计算机代码文本
<dfn>定义一个定义项目
<em>定义为强调的内容
<i>斜体文本效果
<img>向网页中嵌入一幅图像
<input>输入框
<kbd>定义键盘文本
<label>标签为
<input> 元素定义标注(标记)
<q>定义短的引用
<samp>定义样本文本
<select>创建单选或多选菜单
<small>呈现小号字体效果
<span>组合文档中的行内元素
<strong>语气更强的强调的内容
<sub>定义下标文本
<sup>定义上标文本
<textarea>多行的文本输入控件
<tt>打字机或者等宽的文本效果
<var>定义变量

6.块级元素列表

<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>定义表格中的行
参考文章:
https://www.cnblogs.com/ljwk/p/7090320.html
https://zhidao.baidu.com/question/1988012763773636867.html