HTML行内元素、块状元素、行内块状元素的区别

本文介绍网页布局中的关键概念,包括块级元素与行内元素的区别,浮动特性的应用及常见布局方式。通过实例讲解如何利用这些特性进行高效、灵活的网页布局。

参考链接1

参考链接2

参考链接3

参考链接4(全)

1、常见块级元素
div ,hr , p ,ul , li ,ol,h1-h6,dl,form,table
2、常见行内元素
span ,a ,strong ,em ,b ,s ,i ,font…

传统网页的布局分为三种方式
1、普通流(标准流/文档流)–标签按照默认方式排列
标签分为:
块内元素:独占一行,从上而下排列。
行内元素:一行可放多个,从左到右排列。
行内块元素:上述二者的结合体

注意:实际开发中,一个网页基本包含了3种布局方式(移动端更多)

浮动特性:
1、脱标
2、浮动元素一行显示
3、任何类型的元素,只要加了浮动,都具有行内块元素相似的特性。
(1)如果块级盒子没有设置宽度,默认宽度和父级一样宽,但是添加浮动后,它的大小根据内容来决定
(2)浮动的盒子中间是没有缝隙的,是紧挨着一起的
(3)行内元素同理

浮动应用:
1、浮动元素经常和标准流父级搭配使用
为了约束浮动元素位置,我们网页布局一般采取的策略是:
先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置.符合网页布局第一准侧.
心

摘要:

(1)display:inline;转换为行内元素
(2)display:block;转换为块状元素
(3)display:inline-block;转换为行内块状元素
使用css的display可以进行类型转换

行内元素最常使用的就是span,(1)设置宽高无效
(2)对margin仅设置左右方向有效,上下无效;padding设置上下左右都有效,即会撑大空间
(3)不会自动进行换行
  
块状元素代表性的就是div,其他如p、nav、aside、header、footer、section、article、ul-li、address等,都可以用div来实现。
块状元素特征:(1)能够识别宽高
2)margin和padding的上下左右均对其有效
(3)可以自动换行
(4)多个块状元素标签写在一起,默认排列方式为从上至下
5)若没有加浮动,没设置宽度,其宽度将和父亲的宽度一样,若其父亲的是body,则其宽度为100%。若加浮动,不加宽度,块内元素由内容撑起来的宽度。

行内块状元素:<img> <input><td>。综合了行内元素和块状元素的特性,但是各有取舍。因此行内块状元素在日常的使用中,由于其特性,使用的次数也比较多。可以给他们设置宽高、对齐属性。
行内块状元素特征:(1)不自动换行
(2)能够识别宽高
(3)默认排列方式为从左到右

### CSS 行内块状元素的使用及其特性 行内块元素(`inline-block`)是一种特殊的显示方式,它允许元素像`inline`(行内)元素一样在同一行上排列,同时又具备`block`(级)元素的一些特征。这意味着它可以设置宽度、高度以及内外边距等属性。 #### 设置 `display: inline-block` 当一个元素被定义为`inline-block`时,其行为如下: - 它不会独占一行,而是与其他`inline`或`inline-block`类型的兄弟元素并列放置; - 可以为该元素指定具体的尺寸(宽高),并且这些设定会被浏览器尊重; ```css .inline-block-element { display: inline-block; } ``` 这种布局方法非常适合创建水平导航菜单或其他需要紧凑排列的小部件[^1]。 #### 处理间距问题 由于HTML中的空白符会影响`inline-block`元素之间的距离,在实际开发过程中可能会遇到意外的空间间隔现象。解决办法之一是在父容器中移除多余的空格字符或者调整字体大小至零来消除间隙影响。 ```css .parent-container { font-size: 0; /* Remove space between inline-block children */ } .child-elements { display: inline-block; vertical-align: top; /* Align items vertically at the top */ font-size: initial; /* Reset font size inside child elements */ } ``` 通过上述手段能够有效控制由默认渲染机制带来的额外空间,从而实现更精确的设计意图[^2]。 #### 结合Flexbox模型 对于更加复杂的多项目排版需求来说,采用`flex`弹性盒子可能是一个更好的选择。这不仅简化了代码结构,还提供了更多灵活可控的方式来管理子项的位置关系。 ```css .flex-container { display: flex; justify-content: center; /* Center horizontally */ align-items: stretch; /* Stretch items vertically */ } ``` 这种方式下即使内部组件采用了不同的`display`模式也能很好地协同工作,保持一致的高度表现[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值