CSS中display: inline-block的用法解析

本篇文章给大家带来的内容是关于css中display: inline-block的用法解析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

迷之间隙

我们创建一个导航列表,并将其列表 item 设置为 inline-block,主要代码如下:

.nav {  background: #999;}.nav-item{  display:inline-block; /* 设置为inline-block */  width: 100px;  background: #ddd;}

效果图如下:

713151134-5c2b8ef4a66fe_articlex.png

我们从效果图中可以看到列表 item 之间有一点小空隙,但是我们在代码中并没有设置 margin 水平间距。那么这个空隙是如何产生的呢?

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

这是因为我们编写代码时输入空格、换行都会产生空白符。而浏览器是不会忽略空白符的,且对于多个连续的空白符浏览器会自动将其合并成一个,故产生了所谓的间隙。

对于上面实例,我们在列表 item 元素之间输入了回车换行以方便阅读,而这间隙正是这个回车换行产生的空白符。

同样对于所有的行内元素(inline,inline-block),换行都会产生空白符的间隙。

如何消除空白符

从上面我们了解到空白符,是浏览器正常的表现行为。但是对于某些场景来说,并不美观,而且间隙大小非可控,所以我们往往需要去掉这个空白间隙。一般来说我们有两种方法来去掉这个换行引起间隙:代码不换行和设置 font-size。

代码不换行

我们了解到,由于换行空格导致产生换行符,因此我们可以将上述例子中的列表 item 写成一行,这样空白符便消失,间隙就不复存在了。其代码如下:

但考虑到代码可读及维护性,我们一般不建议连成一行的写法。

设置 font-size

首先要理解空白符归根结底是个字符,因此,我们可以通过设置 font-size 属性来控制产生的间隙的大小。我们知道如果将 font-size 设置为 0,文字字符是没法显示的,那么同样这个空白字也没了,间隙也就没了。

于是顺着这个思路就有了另一个解决方案:通过设置父元素的 font-size 为 0 来去掉这个间隙,然后重置子元素的 font-size,让其恢复子元素文字字符。

所以该方法代码如下:

.nav {  background: #999;  font-size: 0; /* 空白字符大小为0 */}.nav-item{  display:inline-block;  width: 100px;  font-size: 16px; /* 重置 font-size 为16px*/  background: #ddd;}

使用该方法时需要特别注意其子元素一定要重置 font-size,不然很容易掉进坑里(文字显示不出来)。

对齐问题

由于 inline-block 属于行内级元素,所以 vertical-align 属性同样对其适用。

在正式讲解 vertical-align 之前,我们需要先说一些基本概念。

中线、基线、顶线、底线

中线(middle)、基线(baseline)、顶线(text-top、底线(text-bottom))是文本的几个基本线,其对应位置如下图:

基线(base line):小写英文字母x的下端沿。

中线(middle line):小写英文字母x的中间。

顶线(text-top):父元素 font-size 大小所组成的一个内容区域的顶部

底线(text-bottom):父元素 font-size 大小所组成的一个内容区域的底部

vertical-align 的值

vertical-align 只接受8个关键字、一个百分数值或者一个长度值。下面我们将看看各关键字如何作用于行内元素。

baseline    默认元素的基线与父元素的基线对齐。

sub    将元素的基线与其父元素的下标基线对齐。

super    将元素的基线与其父代的上标 – 基线对齐。

text-top    将元素的顶部与父元素的字体顶部对齐。

text-bottom    将元素的底部与父元素的字体的底部对齐。

middle    将元素的中间与基线对齐加上父元素的x-height的一半。

top    将元素的顶部和其后代与整行的顶部对齐。

bottom    将元素的底部和其后代与整行的底部对齐。

   将元素的基线对准给定长度高于其父元素的基线。

   像值,百分比是line-height属性的百分比

以上就是CSS中display: inline-block的用法解析的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1613895.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 03:56:55
下一篇 2025年12月24日 03:57:09

相关推荐

  • 彻底理解CSS中视觉格式化模型(附示例)

    本篇文章给大家带来的内容是关于彻底理解css中视觉格式化模型(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 不论你在什么时候开始,重要的是开始之后不要停止。 前言 对于部分前端工程师来讲,有时候CSS令他们很头疼,明明设置了某个样式,但是布局就是不起作用。 如果你也有这种…

    好文分享 2025年12月24日
    000
  • CSS3有哪些新特性?CSS3新特性详解

    本篇文章给大家带来的内容是关于css3有哪些新特性?css3新特性详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。【推荐教程:css教程】 CSS3有哪些新特性? 新增选择器 p:nth-child(n){color: rgba(255, 0, 0, 0.75)} 弹性盒模型 d…

    好文分享 2025年12月24日
    000
  • css实现等高布局的三种方式(代码示例)

    本篇文章给大家带来的内容是关于css实现等高布局的三种方式(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 本文讲的等高布局是在不手动设置元素高度的情况下,使用纯css实现各个元素高度都相当的效果。如图: 1、使用table-cell实现(兼容IE8) 立即学习“前端免费…

    2025年12月24日
    000
  • 如何使用CSS制作箭头符号

    箭头符号我们是经常可以看到的,那么我们如何在不利用图像的情况下使用css制作箭头符号呢?本篇文章就来给大家介绍css制作箭头符号的方法。 话不多说,下面我们直接来看正文~ 用CSS制作的箭头图标的方法 只需要使用CSS就可以创建箭头而不需要利用图像 立即学习“前端免费学习笔记(深入)”; 首先,让我…

    2025年12月24日 好文分享
    000
  • CSS Sprites是什么

    CSS Sprites是一种性能优化技术,是一种将多个图像组合成单个图像文件以在网站上使用的方法,以提高性能,也被称为css精灵图。 CSS Sprites是一种性能优化技术,是一种将多个图像组合成单个图像文件以在网站上使用的方法,以提高性能;也被称为css 精灵图。 为什么要使用Sprites(精…

    2025年12月24日 好文分享
    000
  • CSS页面加载失败的原因有哪些

    CSS加载失败的常见原因有:路径错误、浏览器不兼容、网络原因、编码格式不同等错误 才刚刚入门CSS,经常会碰到CSS加载失败的问题,网页上什么样式都没有,今天将要和大家分享的是常见的CSS加载失败的原因,具有一定参考作用,希望对大家有所帮助。 【推荐课程:CSS教程】 立即学习“前端免费学习笔记(深…

    2025年12月24日
    000
  • CSS如何实现滑动门效果

    CSS实现滑动门效果主要通过设置伪元素的样式来实现,在鼠标滑过时给元素设置display:block让它显示,鼠标滑出时隐藏 一个网站的导航栏对于网站来说有着举足轻重的地位,导航栏的风格也是各式各样的,纯文本的导航栏比起图像导航栏加载更加快速,但是在样式上确不及图片导航栏的美观,后来又有了滑动门导航…

    2025年12月24日
    000
  • CSS中background什么意思?background用法详解

    在css中,background是一个比较常用的样式,但是很多人不知道background怎么用,下面我们来讲解一下cssbackground属性怎么用。 一:CSS中background什么意思? background属性是在一个声明中,可以设置所有的背景颜色,主要有五个背景颜色,一般我们在使用这…

    2025年12月24日
    000
  • css计数器如何实现自动嵌套编号

    在css中可以使用计数器函数counter()和counters()配合content属性来分别实现给元素自动嵌套编号的效果,下面我们就来看看css计数器函数counter()和counters()是如何自动嵌套编号的。 css计数器使用多个counter()函数嵌套编号 css计数器的counte…

    2025年12月24日 好文分享
    000
  • css如何使用:indeterminate选择器

    本篇文章给大家介绍一下在css中:indeterminate选择器有什么用,可以在哪些元素中使用。下面我们就来看具体的内容。 :indeterminate选择器简单介绍 :indeterminate是一个CSS 伪类选择器,是用于选择处于不确定状态的用户界面元素的。 例如,radio和checkbo…

    2025年12月24日 好文分享
    000
  • css如何添加阴影边框(代码实例)

    css如何设置边框阴影?很多人遇到这类问题都不知道怎么处理,其实利用css加边框也是简单的,下面我们来看一下如何利用css添加阴影边框。 一:css阴影边框使用语法: 1.属性:box-shadow 2.使用方法: 立即学习“前端免费学习笔记(深入)”; div{box-shadow:0 0 1px…

    2025年12月24日
    000
  • css如何给边框添加图像?css设置边框图像

    今天将和大家介绍如何利用css给元素的边框添加图像,css只要是通过设置border-image属性或者其相关属性就可以给元素的边框添加图像。下面我们来看看本篇文章的具体内容。 border-image属性的简单介绍 在css中我们可以通过设置border-image属性来定义边框要使用的图像,而不…

    2025年12月24日 好文分享
    000
  • 什么是Sass?如何使用Sass?

    对于一个网页设计的新手来说,可能听说过“sass”这个词。但却不确定sass的作用以及是否可以使用它,本篇文章就给大家介绍一下什么是sass?如何使用sass?让大家对sass有一个简单的理解。 简而言之,Sass是一个CSS预处理器,它将特殊功能(如变量,嵌套规则和mixins(有时称为语法糖))…

    2025年12月24日
    000
  • CSS中line-height详解(代码实例)

    元素的高度是由什么决定对于我们解决页面显示问题和布局页面都有很大的帮助。 常规的操作表现是为一个块级元素设置height属性,则其拥有了高度: .test { border: 1px solid #ccc; height: 100px; width: 100px; } 但是根据熟知,当我们不为元素设…

    2025年12月24日
    000
  • css如何清除下划线?css清除下划线有哪些方法

    css怎么清除下划线?css去除下划线方法有哪些?很多人可能还不知道怎么操作,下面我们来讲解一下。在css中,我们可以使用text-decoration属性来表示下划线和删除线等样式,首先我们要了解一下text-decoration属性。 text-decoration属性一共有五个值,分别是non…

    2025年12月24日
    000
  • 如何使用CSS实现背景图像透明

    CSS实现背景图像透明需要用到的属性是opacity属性,但是在有文字的情况下,为了防止文字透明我们需要将元素分开。 CSS中实现背景图像透明的属性是opacity属性,但是,如果你使用它来创建带有文本的内容的话,你就会发现文本内容也会随着透明。 现在,我们先来编写一个只是背景图像透明的CSS。 首…

    2025年12月24日 好文分享
    000
  • css如何设置表格标题(caption标签)的位置

    我们可以通过设置css caption-side属性的相关属性值来指定表格( )标题(caption标签)的位置,即:可以使用caption-side属性来指定了标题位于表格的哪一侧。 在table表格中,caption标签是用于为表格提供简短的标题,如标题或简短描述。caption标签是插在开始 …

    2025年12月24日 好文分享
    000
  • css如何使用伪元素

    css伪元素是什么?css伪元素用来干啥?相信很多人都想听说过css伪元素,但是不知道是干什么的,下面我们来讲述一下css如何使用伪元素? css伪元素是什么? css中的伪元素就是对某个选择器的文字添加一些特殊的样式,伪元素并不是真正的元素,只是和其他元素没有什么太大的差别,也不存在文档中,例如代…

    2025年12月24日
    000
  • css如何剪切元素?​clip属性的使用

    我们可以使用css clip属性来剪切元素的区域,仅保留元素的一部分可见,被留下了的可见元素部分称为剪辑区域。本篇文章就给大家介绍css clip属性是如何剪切元素的,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助。 在css中,clip属性只能在设置了绝对定位:“position:a…

    2025年12月24日 好文分享
    000
  • css如何设置英文首字母大写

    我们经常在英文报纸上看到首个单词大写,那么单词首字母大写如何设置,可能很多人遇到这种问题都不知道怎么操作,下面我们来讲解一下css如何设置英文首字母大写? 实现英文首字母大写可以使用div+css,div+css中的一个text-transform属性可以设置字母大小写,以及字母全文大写和字母全文小…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信