7. display(标签显示模式)
@
文档流#
- 网页是一个多层的结构,一层摞着一层
- 通过CSS可以分别为每一层来设置样式
- 作为用户来讲只能看到最顶上一层
- 这些层中,最底下的一层称为文档流,文档流是网页的基础
我们所创建的元素默认都是在文档流中进行排列
- 对于我们来元素主要有两个状态
在文档流中
不在文档流中(脱离文档流)
元素在文档流中有如下的显示模式
- 块级元素
- 行内块元素
- 行内元素
1. 什么是标签显示模式#
-
什么是标签的显示模式?
标签以什么方式进行显示,比如div 自己占一行, 比如span 一行可以放很多个
-
作用:
我们网页的标签非常多,再不同地方会用到不同类型的标签,以便更好的完成我们的网页。
-
标签的类型(分类)
HTML标签一般分为块标签和行内标签两种类型,它们也称块元素和行内元素。
2. 块级元素(block-level)#
常见的块元素有
<h1>~<h6>
<p>
<div>
<ul>、<ol>、<li>、<dl>
<hr>
<form>、<table>等
- 块级元素的特点
(1)独占一行
(2)高度,宽度、外边距以及内边距都可以控制。
(3)宽度默认是容器(父级宽度)的100%
(4)是一个容器及盒子,里面可以放行内或者块级元素。
-
注意
文字类块级标签,里面不能放其他块级元素。
如 : h1,h2,h3,h4,h5,h6,dt,p
?还有那些元素属于block-level?
3. 行内元素(inline-level)#
常见的行内元素有
<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,
其中<span>标签最典型的行内元素。有的地方也叫做 内联元素
- 行内元素的特点:
(1)相邻行内元素在一行上,一行可以显示多个。
(2)高、宽直接设置是无效的。
(3)默认宽度就是它本身内容的宽度。
(4)行内元素只能容纳文本或则其他行内元素。
- 注意
- 链接里面不能再放链接。
- 特殊情况a里面可以放块级元素,但是给a转换一下块级模式最安全。
行内元素盒子模型#
- 不支持设置width、height
- 行内元素可以设置 padding,但是垂直方向 padding 不会影响页面的布局
- 行内元素可以设置 border,垂直方向的 border 不会影响页面的布局
- 行内元素可以设置 margin,垂直方向的 margin 不会影响布局
<style>
.s1{
background-color: yellow;
width: 100px;
height: 100px;
padding: 100px;
border: 100px solid red;
margin: 100px;
}
.box1{
width: 200px;
height: 200px;
background-color: #bfa;
}
</style>
<span class="s1">我是span</span>
<span class="s1">我是span</span>
<div class="box1"></div>
4. 行内块元素(inline-block)#
在行内元素中有几个特殊的标签——<img />、<input />、<td>,可以对它们设置宽高和对齐属性,
有些资料可能会称它们为行内块元素。
- 行内块元素的特点:
(1)和相邻行内元素(行内块)在一行上,但是之间会有空白缝隙。一行可以显示多个
(2)默认宽度就是它本身内容的宽度。
(3)高度,行高、外边距以及内边距都可以控制。
还有哪些元素属于行内块元素?
5. 三种模式总结区别#
元素模式 | 元素排列 | 设置样式 | 默认宽度 | 包含 |
---|---|---|---|---|
块级元素 | 一行只能放一个块级元素 | 可以设置宽度高度 | 容器的100% | 容器级可以包含任何标签 |
行内元素 | 一行可以放多个行内元素 | 不可以直接设置宽度高度 | 它本身内容的宽度 | 容纳文本或则其他行内元素 |
行内块元素 | 一行放多个行内块元素 | 可以设置宽度和高度 | 它本身内容的宽度 |
6. 标签显示模式转换 display#
- 块转行内:
display:inline;
- 行内转块:
display:block;
- 块、行内元素转换为行内块:
display: inline-block;
- 将元素设置为一个表格:
display: table
- 元素不在页面中显示:
display: none
7. 表格的显示模式#
CSS——布局布局神器display:table-cell - 简书
display——table-cell属性 - 给时光以生命 - 博客园
<table>
:display: table
<thead>、<tbody>、<tfoot>
:display: table-header-group
<tr>
:display: table-row
<td>
:display: table-cell
td{
border: 1px solid black;
height: 100px;
/* table-cell 可以通过 vertical-align 来 控制元素内容垂直居中*/
vertical-align:middle;
/* table-cell 也可通过 text-align 来控制元素内同的居中 */
text-align: center;
}
作者:Hong•Guo
出处:https://www.cnblogs.com/ghnb1/p/15732046.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix