0

0

对行内元素与块级元素之间转换的详细教程

零下一度

零下一度

发布时间:2017-05-06 14:04:56

|

5204人浏览过

|

来源于php中文网

原创

2015.1.5日,我去了北京一家互联网创业公司面试,我感受到了那里年轻人在一起拼搏的氛围,招聘栏上,说是希望要有几年web前端工作经验的,我凭着自己的这点小本事,不自量力的去啦。结果,面试官问了,我许多我接触过的问题,但是,不幸的是,我对那些知识点完全是只知道大概,对于这些知识点在实际中的应用,我却知之甚少。面试时,我都不好意思啦,总觉得耽误人家时间啦。

这个问题是当面试官问我盒子模型时,由于需要说上下左右边距,为了更能说明,我举例了行内元素与块级元素,但是,却又被人“行内元素与块级元素之可以通过哪些方式方法转换”问住啦,丢人啊!我只回答出来display,于是,我找了有关书籍,看了几个网站的源代码,再来总结一番。


  • 块级元素与行内元素

    • 块级元素会扩展到与元素同宽。

    • 行内元素会“收缩包裹” 其内容,并且会尽可能包紧。
      (以上这两个总结,来自于《css设计指南》这本书)

  • 其默认css样式

    • 块级元素其高度为其内容高度,宽度会扩展到与父元素同宽。所以导致块级元素会独占一行,无法在其后容纳其他块级元素与行内元素。

    • 行内元素其高度为其内容高度,宽度会收缩包裹其内容。奇怪的一点:行内元素之间有一定的距离,使用控制台看的时候,并没有把这段距离算作盒子模型。我使用margin:0;padding:0并不会清除这段距离,??求告知!

  • css修饰

    • 替换元素:替换元素就是浏览器根据元素的标签和属性,来决定元素的具体显示内容。如浏览器会根据对行内元素与块级元素之间转换的详细教程src属性的值来读取图片信息并显示出来,而如果查看(X)HTML代码,则看不到图片的实际内容;又如由的type属性来决定是显示输入框,还是单选按钮等。引自这里

    • 非替换元素:如p a span p这些,即其内容直接表现给用户端(例如浏览器)。
      所以行内元素也就分为行内替换元素img input,与行内非替换元素span a…对于二者css修饰起来是有差别的。

    • 行内非替换元素:其宽高设置无效, 对于内外边距,边框,可以设置,但是垂直方向的设置并不会影响文档流布局,所以设置垂直内外边距是没有效果的,垂直边框,我们是看得见,但是垂直边框并不占据文档流 。所以上面的行内元素设置了宽度为10px的边框,并不会导致下面元素的向下移动。

    • 行内替换元素,除了具备行内元素同行并列的特点,他可以设置影响文档流布局的内外边距以及宽高。 且设置高度等同于设置行高,会垂直居中

    • line-height 行内非替换元素虽然不具备宽高,但是可以利用line-height来设置高度,但是奇葩的是,虽然行高可以影响行内元素的文档流布局,但是,其边框依旧会包裹其内容,忽略行高带来的上下留白。

    • margin 行内元素的边距,不会合并(替换非替换)。不同于块级元素,会合并上下,左右边距。

    • 块级元素可以对其高度宽度进行设置,同时也可以对边框,内外边距,进行设置,其设置结果影响文档流布局效果。
      注意修改width后,并不会使得其下面的行内元素向上移动。

    • 行内元素,行内元素可以对其高度进行设置么?当然不能!这个回答当然太过绝对。
      元素分为替换元素与非替换元素。几乎所有替换元素都是行内元素。

  • 行内元素与块级元素的转换

    Clippah
    Clippah

    AI驱动的创意视频处理平台

    下载
    • display:none;不显示该元素,也不会保留该元素原先占有的文档流位置。

    • display:block;转换为块级元素。

    • display:inline;转换为行内元素。

    • display:inline-block;转换为行内块级元素。
      以上四个是我常用的,事实上,还有很多

      通过display:block;与display:inline;可以很容易的实现两类元素变现形式之间的转换。
      但是,有很多时候,我们需要使用display:inline-block;来转换行内元素,或者是块级元素。但是这个元素时css2新增的属性,对于IE7以下的版本不支持这个属性,所以需要一些兼容的办法。这里会即将写一篇

    • display
      块级元素默认display:block;行内非替换元素(a,span)默认为display:inline;;行内替换元素(input)默认为display:inline-block;

    • float
      当把行内元素设置完float:left/right后,该行内元素的display属性会被赋予block值,且拥有浮动特性。行内元素去除了之间的莫名空白,

    • position
      当为行内元素进行定位时,position:absolute,与position:fixed。都会使原先的行内元素变为块级元素。

  • 【注意】通过以上的设置,可以实现为行内非替换元素设置宽高及内外边距。但是替换时,还需要注意转换为块级元素只是,float与position的副作用,他们本身的作用还会干扰布局效果。
    之前介绍块级元素时,会说,块级元素的宽度会继承其父元素。但是,只有为行内元素设置display:block;才会有这样的效果,其他转换之后并不会默认带来这个效果。

    建议小伙伴们还是自己在编辑器里敲敲,对比一下,印象才深刻。

【相关推荐】

1. 免费html在线视频教程

2. html开发手册

3. php.cn原创html5视频教程

热门AI工具

更多
DeepSeek
DeepSeek

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

豆包大模型
豆包大模型

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

通义千问
通义千问

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

腾讯元宝
腾讯元宝

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

文心一言
文心一言

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

讯飞写作
讯飞写作

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

即梦AI
即梦AI

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

ChatGPT
ChatGPT

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

相关专题

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

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

32

2026.01.31

go语言 math包
go语言 math包

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

23

2026.01.31

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

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

16

2026.01.31

golang 循环遍历
golang 循环遍历

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

5

2026.01.31

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

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

6

2026.01.31

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

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

268

2026.01.31

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

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

195

2026.01.31

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

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

170

2026.01.31

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

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

85

2026.01.31

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CSS教程
CSS教程

共754课时 | 26.2万人学习

【Midjourney】从入门到精通
【Midjourney】从入门到精通

共17课时 | 1.4万人学习

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

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