当前位置: 首页 > article >正文

【HTML】元素的分类(块元素、行内元素、行内块元素)

元素的分类

  • 块元素
  • 行内元素
  • 行内块元素
  • 转换

块元素

独占一行,宽度默认为容器的100%,可以设置宽、高、行高、内外边距;布局时,块元素可以包含块元素和行内元素

<div>div</div><p>p</p><h3>h1-h6</h3><hr>
<form action="">form</form>
<dl>
	<dt>dt</dt>
	<dd>dd</dd>
</dl>
<table border="1">
	<tr>
		<th>tr</th>
		<th>tr</th>
	</tr>
	<tr>
		<th>tr</th>
		<th>tr</th>
	</tr>
</table>
<table border="1">
	<tr>
		<th>tr</th>
		<th>tr</th>
	</tr>
	<tr>
		<th>tr</th>
		<th>tr</th>
	</tr>
</table>
<ul><li>ul > li</li></ul>
<ol><li>ol > li</li></ol>
<header>header</header><aside>aside</aside><footer>footer</footer>
<section>section</section><nav>nav</nav><article>article</article>

效果:
在这里插入图片描述

行内元素

不会独占一行;不可以设置宽、高且无效,可以设置内外边距仅设置左右方向有效,上下无效;元素的宽高取决于内容的宽高,如果一行空间不够,会自动换行显示;布局时,行内元素一般不包含块级元素

<button>button</button>
<sub>下标</sub><sup>上标</sup>
<span>span</span>
<del>del</del><strong>strong</strong><ins>ins</ins><em>em</em>
<a href="#">a</a>
<input type="text"><label>lable</label>
<img src="./images/小车汽车.png"></img>
<video controls src="./images/videoEdit.mp4" width="200px" height="200px"></video>
<audio controls src="./images/Clairo-may-as-well.mp3"></audio>
<select>
	<option value="">select</option>
	<option value="">select</option>
	<option value="">select</option>
</select>
<textarea>textarea</textarea>

效果:
在这里插入图片描述

行内块元素

它的宽、高、行高、内外边距都可以控制;默认宽度就是它本身内容的宽度,不独占一行

<style>
	button,input,textarea,img{
		padding: 5px;
		margin: 20px;
		width: 200px;
		height: 60px;
	}
</style>
<button>button</button>
<input placeholder="input" type="text">
<textarea>textarea</textarea>
<img src="images/小车汽车.png">

效果:
在这里插入图片描述
在这里插入图片描述

但是行内块元素之间会有空白缝隙,需要去除 根据具体的需求和实际情况‌选择以下方法

1) 将行内块元素之间的 html 代码写在同一行,删除换行符和空格‌
2) 通过设置父元素的字体大小为 0‌,可以使空白文本节点不占据空间,再为行内块元素设置合适的字体大小
3) 使用负的间距( margin ),通过为行内块元素设置负的间距,可以抵消它们之间的间隙
4) 给行内块元素添加 float 属性(浮动)

<style>
	img{
		border: 1px solid red;
		/*float: left;*/
		/*margin: -3px;*/
	}
	div{
		font-size: 0;
	}
</style>
<div>
	<img src="images/小车汽车.png">
	<img src="images/小车汽车.png">
	<img src="images/小车汽车.png">
	<img src="images/小车汽车.png">
	<img src="images/小车汽车.png">
	<img src="images/小车汽车.png">
	<img src="images/小车汽车.png">
	<img src="images/小车汽车.png">
</div>

效果:
在这里插入图片描述
在这里插入图片描述

转换

定义元素为行内元素display: inline;

<style>
	div{
		border: 1px solid #f531ff;
		display: inline;  /*强转为行内元素*/
	}
</style>
<div>div1</div>
<div>div2</div>
<div>div3</div>

效果:
在这里插入图片描述

定义元素为块级元素display: block;

<style>
	span{
		border: 1px solid #f531ff;
		display: block; /*强转为块元素*/
	}
</style>
<span>span1</span>
<span>span2</span>
<span>span3</span>

效果:
在这里插入图片描述

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

<style>
	span{
		border: 1px solid #f531ff;
		display: inline-block; /*强转为行内块元素*/
	}
	div{
		border: 1px solid #f531ff;
		display: inline-block; /*强转为行内块元素*/
	}
</style>
<span>span</span>
<div>div</div>

效果:
在这里插入图片描述

注意 :
        1)元素宽度的百分比相对于父元素的宽度的百分比
        2)元素的内边距与外边距,都是相对于父元素的宽度的百分比
        3)元素的宽度是内容的宽度,真实占据的位置是这个内容宽度+内边距+边框
        4)元素的高度的百分比相对于父元素的高度的百分比,我们一般不会设置高度 高度就是内容的高度
        5)一行只有一个容器你才能居中,如果有多个,需要自己设置宽度和边距进行居中排列


http://www.kler.cn/a/303279.html

相关文章:

  • Nuxt.js 应用中的 schema:beforeWrite 事件钩子详解
  • #include<string>和#include<string.h>有什么区别
  • 1111111111待修改--大流量分析(三)-BUUCTF
  • HTTP常见的请求头有哪些?都有什么作用?在 Web 应用中使用这些请求头?
  • 如何使用ffmpeg命令行进行录屏
  • SpringCloud学习笔记
  • 探索数据可视化的奥秘:Seaborn库的魔力
  • appium server gui详细按照步骤
  • 【加密社】深入理解TON智能合约 (FunC语法)
  • 跨服务器执行PowerShell脚本
  • MySQL 创建数据库和表全攻略
  • HarmonyOS -服务卡片
  • CustomerbasicController
  • Android 提高第一次开机速度(取消系统默认手机加密)
  • C++ Primer Plus(速记版)-容器和算法
  • linux常用环境配置
  • 创建一个简单的思维导图生成器
  • 使用 BentoML快速实现Llama-3推理服务
  • 无人机之如何增强信号
  • Linux 防火墙:iptables (二)
  • WPS汇总多个文档
  • 查询数据起始时间判断
  • 10.1英寸工业三防平板提升工厂的工作效率
  • 【乐吾乐大屏可视化组态编辑器】API接口文档(pgsql)
  • 11. 建立你的第一个Web3项目
  • YOLOv8和YOLOv10的参数解释