0

0

css中display:inline-block与float在使元素排列在一行时使用差异

一个新手

一个新手

发布时间:2017-09-18 09:13:16

|

2664人浏览过

|

来源于php中文网

原创

      在布局的时候,很多设计都需要将元素排列在一行,使元素排列在一行的方法有多种,从兼容性和易用性来考虑,先介绍display:inline-block(显示为内联块)和float(浮动)。

       float: 浮动,闻其名而知其意:使元素浮起来,脱离文档流,从而达到多个元素排列在一行的目的。浮动元素有哪些特征呢?如下所示:

  1.  支持宽高;

  2.  在一行显示;        

  3. 不设置宽度时, 宽度由内容撑开 ; 

    立即学习前端免费学习笔记(深入)”;

  4.  会按照指定的顺序移动,直到碰到浮动元素,或父级的边界停止;

  5.  元素浮动之后会使浮动元素父级高度塌陷;

  6.  脱离文档流;

  7.  元素浮动之后,上下margin不再叠加;

  8.  触发BFC。

      inline-block:内联块,即既有内嵌的部分特征也具有块级元素的特征。如下所示:

  1.  支持宽高;

  2.  在一行显示;

    Avatar AI
    Avatar AI

    AI成像模型,可以从你的照片中生成逼真的4K头像

    下载
  3. 代码换行会解析成空格;

  4. 不设置宽度时,宽度由内容撑开;

  5. inline-block类型元素底部默认会有一个空隙;

  6. inline-b类型元素上下margin不叠加;

  7. 触发BFC。

     可以从这两个样式的特征中看出,它们相同的地方在于:1.支持宽高;2.在一行显示;3.不设置内容时,宽度由内容撑开;7,.上下margin不叠加以及8.触发BFC。在一行显示这一特征,决定了这两可以使元素排列在一行。那么使用差异,就得从他们不同的特征开始分析:

  1.  排列方向限定 。 浮动的第4个特征决定了它可以决定元素的排列顺序。float:left:元素从左至右排列,float:right:元素从右至左排列。而display:inline-block,只能从左往右。

  2.  是否脱离文档流。浮动元素会脱离文档流,而display:inline-block不会。所以会有这样一个现象:当第一个浮动元素或者inline-block元素已经占满一行,同时给第二个元素加margin-left:-100%,第二个浮动元素会覆盖在第二个浮动元素上面,而第二个inline-block会换行显示并再根据margin-left进行移动;

  3.  浮动元素会父级的高度塌陷。为了避免父元素的高度塌陷,一般在使用浮动的时候,都要对这一特征进行处理:给父级设置高度或者进行清浮动处理;

  4.  inline-block元素底部默认有一个空隙。在网页制作时,需要设置垂直对齐方式:vertical-align来进行空隙的消除;

  5.  inline-block类型元素html代码换行时会产生空格,为了消除空格的影响,需要:在结构中将内联元素写成一行或者在样式中给内联元素父级font-size设置为0;

     从上述差异分析,已经可以看出float与inline-block的优缺点:float之后,大部分情况下需要清浮动或者设置高度。display:inline-block需在不更改默认排列方式(从左至右)的情况下才可使用,而且需要清除底部空隙和左右因为代码换行产生的空格。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

2

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

go语言输入函数
go语言输入函数

本专题整合了go语言输入相关教程内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

golang 循环遍历
golang 循环遍历

本专题整合了golang循环遍历相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.31

Golang人工智能合集
Golang人工智能合集

本专题整合了Golang人工智能相关内容,阅读专题下面的文章了解更多详细内容。

1

2026.01.31

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

76

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

73

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

67

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

19

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
尚学堂ios初级视频教程
尚学堂ios初级视频教程

共77课时 | 17.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号