小程序进阶-inline、block和inline-block的区别与联系

背景介绍

每个html标签元素都有默认的元素类型,主要包括两大类:inline内联元素和block块元素。其他则称为可变元素,会根据上下文语境决定该元素为inline元素或者block元素。

在css里,有一个display的属性,它规定元素应该生的框的类型,可能的值很多,除inline、block,常用的有table-cell、inline-block等,其中inline-block是css2.1里新增的值。

line和block类似于1+1=2的基础概念。在没有网络的时代,有一种叫做剪报的东西,它是把报刊杂志等上面剪下的文字、图片资料,整理分类成册。我们可以把剪下来的纸片看作是block元素,而用笔记录的文字、图画,看成是line元素。最早做浏览器的时候加入这两个元素,可能是遵循同样的模式。

inline-block,据资料发现,在IE5.5开始支持inline-block值,也就是1999年12月(最终版为2007年7月)。css2更新发布在1998年5月,2.1的个更新草案则是在2002年8月2日发布的(css2.1版添加了display的inline-block值)。当年可能是为了更好的进行元素布局,踩在标准里给display添加inline-block值。

知识剖析

  1. 常见元素

    inline元素:a,span,br,i,em,strong,label,q,var,cite,code
    inline-block元素:img,input
    block元素:p,div,h1...h6,ol,dl,table,address,blockquote,form

  2. 各自具有什么特点

inlin特点:

复制代码
(1)和其他元素都在一行上,直到一行排列不下,才会新换一行,其宽度随元素内容而变化
(2)元素的高度、宽度及顶部和底部边距不可设置
(3)元素的宽度就是它包含的文字或图片的宽度,不可改变

block特点:

复制代码
(1)每个块级元素都从新的一行开始,并且其后的元素也另起一行。
(2)元素的高度、宽度、行高以及和底边距都可设置
(3)元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

inline-block特点:

复制代码
内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,代码display:inline-block就是将元素设置为内联块状元素。和其他元素都在一行上;元素的高度、宽度、行高以及底边距都可设置。

常见问题与解决方案

  1. inline和inline-block元素之间的间距问题
bash 复制代码
设置父容器的font-size为0,子容器重新设置font-size。
  1. inline-block元素的如何垂直居中
bash 复制代码
设置上下padding值相等;
设置vertical-align:middle;
设置line-height大于font-size;
相关推荐
用户059540174468 分钟前
把记忆存储的回归测试从手工换成 Playwright + GitHub Actions,线上缺陷降低 80%
前端·css
cll_8692418919 小时前
一个好看的Wordpress博客文字css样式
前端·css·ui
三翼鸟数字化技术团队10 小时前
一种前端大屏适配方案
前端·css
小码哥06810 小时前
从三甲综合医院到连锁诊所:医院管理小程序的场景化突围逻辑(陪诊系统-陪诊APP-陪诊小程序)
小程序·医院管理系统·陪诊小程序·陪诊系统·陪诊app
muddjsv11 小时前
CSS核心语法精讲:彻底吃透规则结构、选择器与声明规范
前端·css
2501_9160074711 小时前
iOS和macOS应用程序性能分析和优化工具使用综合指南
android·macos·ios·小程序·uni-app·iphone·webview
正在走向自律12 小时前
用豆包Seed Evolving打造全功能【AI智能记账】小程序,开源可落地
人工智能·小程序·开源·智能记账
触底反弹21 小时前
一文搞懂 Tailwind CSS 弹性布局:从原理到实战
前端·css·html
小白巨白1 天前
玫瑰花园管理系统:AI识病+3D可视化,一套面向中小型玫瑰种植园的数字化管理工具
css·人工智能·计算机视觉·html5
小羊Yveesss1 天前
模板建站哪个平台好?模板数量之外还要比较编辑与SEO能力
大数据·人工智能·小程序