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

news/2024/9/21 0:00:12/

元素的分类

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

块元素

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

html"><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>

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

行内元素

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

html"><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>

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

行内块元素

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

html"><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 属性(浮动)

html"><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;

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

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

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

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

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

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

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

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

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


http://www.ppmy.cn/news/1528138.html

相关文章

WSL2+Ubuntu 22.04搭建Qt开发环境+中文输入法

WSL2Ubuntu 22.04搭建Qt开发环境中文输入法 安装 wsl 略 wsl 更新 wsl --update wsl --version wsl --status 我的显示如下, 如果你的版本不是 wsl2 需要改为 wsl2:$ wsl --update 正在安装: 适用于 Linux 的 Windows 子系统 已安装 适用于 Linux 的 Windows 子系统。 $ wsl --…

安装 Anaconda

Anaconda 安装与使用教程 Anaconda 是一个用于科学计算的 Python 和 R 的发行版&#xff0c;它包含了众多流行的科学、数学、工程和数据分析包。本教程将引导您完成 Anaconda 的安装&#xff0c;并介绍如何使用其主要功能之一——Conda 环境管理器来创建和管理环境。 第一部分…

R包compareGroups详细用法

compareGroups compareGroups 是一个功能强大的 R 包&#xff0c;专为数据质量控制、数据探索和生成用于出版的单变量或双变量表格而设计。它能够创建各种格式的报表&#xff0c;如纯文本、HTML、LaTeX、PDF、Word 或 Excel 格式&#xff0c;并显示统计数据&#xff08;均值、…

TPS和QPS的区别

TPS&#xff08;Transactions Per Second&#xff09;和QPS&#xff08;Queries Per Second&#xff09;是衡量系统性能的两个关键指标&#xff0c;主要区别在于TPS侧重于每秒钟能够处理的事务数&#xff0c;而QPS则强调每秒能大行的查询数。TPS关注于事务处理的能力&#xff0…

FewShotChatMessagePromptTemplate 和 FewShotPromptTemplate区别

FewShotChatMessagePromptTemplate 和 FewShotPromptTemplate 都是 LangChain 框架中用于少样本学习的提示模板&#xff08;Prompt Template&#xff09;&#xff0c;但它们在设计和用途上存在一些区别。 FewShotChatMessagePromptTemplate 用途&#xff1a;主要用于聊天场景…

jpa适配mysql切换达梦可能的坑

1、liquibase脚本 &#xff08;1&#xff09;达梦数据库不支持&#xff0c;修改字段varchar改成blob <changeSet author"ly" id"v3.0_4_202307111505_101"><renameColumn tableName"PC_SS_ZRQD" oldColumnName"BHNR" newCo…

node nvm 基础用法

NVM&#xff08;Node Version Manager&#xff09;是一个用于管理多个Node.js版本的工具。它允许你在同一台机器上安装和切换不同版本的Node.js&#xff0c;而不会相互干扰。以下是NVM的一些基础用法&#xff1a; 安装NVM: 在Linux或macOS上&#xff0c;你可以使用CURL或WGET来…

多线程爬虫接入代理IP:高效数据抓取的秘诀

在现代网络环境中&#xff0c;爬虫已经成为获取信息的利器。然而&#xff0c;随着网站反爬措施的不断升级&#xff0c;单线程爬虫往往无法满足需求。多线程爬虫与代理IP的结合&#xff0c;不仅能提高效率&#xff0c;还能有效规避IP封禁问题。本文将详细探讨多线程爬虫接入代理…