简单说 CSS的vertical-align

YOLOv11改进缝合注意力 | 深度优化的BiFormer模型-结合BiLevel Routing Attention与深度可分离卷积的创新应用(附代码) YOLO(You Only Look Once)系列目标检测算法一直以来都是计算机视觉领域的热门选择。随着YOLOv11的发布,它在许多实际应用场景中取得了显著的性能提升。然而,面对日益复杂的目标检测任务,单纯依赖卷积神经网络(CNN)在某些情况下已经显得力不从心,特别是在处理小尺度、密集目标以及遮挡目标时,卷积操作的局部性限制了模型的表达能力。 阅读详情

说明

vertical-align属性,是CSS属性中一个比较重要的属性,也是比较不好理解的一个。
我们今天就来说说它。

解释

先来看看他的定义。

定义和用法

vertical-align 属性设置元素的垂直对齐方式。
该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表格中,这个属性会设置单元格框中的单元格内容的对齐方式。

上面这段话,的确不是很好理解,没关系,我们先不用去管他,不过我们先要记住一个事情。

只有元素属于inline或是inline-block ,vertical-align属性才会起作用。
例如图片,按钮,单复选框,单行/多行文本框等HTML控件,只有这些元素默认情况下会对vertical-align属性起作用。

我们继续来看看,vertical-align 可以取的值

/* 关键值 */
vertical-align: baseline;    /*默认。元素放置在父元素的基线上*/
vertical-align: sub;         /*垂直对齐文本的下标*/
vertical-align: super;       /*垂直对齐文本的上标*/
vertical-align: text-top;    /*把元素的顶端与父元素字体的顶端对齐*/
vertical-align: text-bottom; /*把元素的底端与父元素字体的底端对齐。*/
vertical-align: middle;      /*把此元素放置在父元素的中部*/
vertical-align: top;         /*把元素的顶端与行中最高元素的顶端对齐*/
vertical-align: bottom;      /*把元素的顶端与行中最低的元素的顶端对齐*/

/* 长度值 */
vertical-align: 10em;
vertical-align: 4px;

/* 百分比值 */
vertical-align: 20%;

/* 全局值 */
vertical-align: inherit;    /*规定应该从父元素继承 vertical-align 属性的值*/
vertical-align: initial;    /*设置属性的初始值——浏览器的默认定义值*/ 

vertical-align: unset;
/*CSS 关键字 unset 是 关键字 initial 和 inherit的组合。 
如果有继承父级样式,则将该属性重新设置为继承的值,如果没有继承父级样式,则将该属性重新设置为初始值。
换句话说这个unset关键字会优先用inherit的样式,其次会应该用initial的样式。*/

基本的概念我们已经知道了,我们来看一个小例子

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <style type="text/css">
        div{
            background: blue;
        }
    </style>
</head>
<body>

    <div>   
        <img src="https://img-blog.youkuaiyun.com/20170802165556550">
    </div>

</body>
</html>

你可能会奇怪,一个div 里面 放一个 img 会有什么事呢?
div的背景是蓝色,我们来看看效果图。
这里写图片描述
奇怪的事情出现了,为什么图片下面会有一点点的空隙呢?
这就要说到 vertical-align 和 line-height ,不过在这之前我们要先说说,vertical-align 的默认值 baseline,看下面这张从张鑫旭大神那借来的图就好了。

这里写图片描述

我们刚学英语的时使用的那个英语本子每行有四条线,其中底部第二条线就是基线,是a,c,z,x等字母的底边线。图中的红色线即为基线。

我们在图的旁边写点字看看,就很清楚了。
这里写图片描述

我们能看见,图片是和文字x的下边缘,也就是基线对齐的,并不是和底线对齐。
现在我们调整图片的 vertical-align 属性值 为bottom,看看会怎样

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <style type="text/css">
        div{
            background: blue;
        }
        img{
            vertical-align: bottom;
        }
        span{
            background: white;
        }
    </style>
</head>
<body>

    <div>   
        <img src="https://img-blog.youkuaiyun.com/20170802165556550"><span>x</span>
    </div>
</body>
</html>

效果图
这里写图片描述

好了,那一点点的空隙没有了,这个时候你可能又有问题问了,最开始的时候,图片旁边没有文字啊,那vertical-align 应该没用啊,为什么下面还有空隙呢?

这个呀,就是要注意的地方了,其实,图片下面会有一点点的空隙,最根本的原因是因为,baseline发生了移动,不过我们为了方便记忆和理解,可以认为图片旁边有一个空白节点,他和文字的表现是一样的,所以我们设置图片的 vertical-align 就能解决这个问题。

既然我们知道了这些,那我们就能想到更多的解决方案了。
1、设置vertical-align的值,不使用baseline,使用bottom/middle/top都是可以。

2、我们知道vertical-align 的默认值是 baseline,它会和文字的基线对齐,我们直接去掉文字的高度也是可以了的,而文字的高度是由行高决定的,所以我们直接给div设置 line-height: 0; 也能解决问题。

3、说一下 line-height,它的默认值一般为1.2,当 line-height取值为数字或百分数时,它是基于当前字体尺寸来计算的,也就是font-size的大小,所以我们直接给div设置font-size: 0; 也是可以解决问题的。

4、我们最开始提到过,只有元素属于inline或是inline-block ,vertical-align属性才会起作用。所以我们直接让vertical-align属性失效也可以解决问题,那就直接给img 设置 display: block; 就可以了

总结

这次主要说了一些 vertical-align属性的基础的东西。
但是还是有一些要注意的地方。

1、只有元素属于inline或是inline-block ,vertical-align属性才会起作用。
2、vertical-align,取值是百分数值时,是相对于此标签继承的line-height值决定的。
3、line-height,取值是百分数值时,是相对于当前的font-size值决定的。
4、文中提到的图片下方会有空隙,必须是HTML5文档声明才会有的,其他的文档声明没有空白,就是必须要有<!DOCTYPE html>这句才可以。

最后 推荐几篇讲 vertical-align 的文章

关于Vertical-Align你需要知道的事情

我对CSS vertical-align的一些理解与认识(一)

CSS深入理解vertical-align和line-height的基友关系

这里写图片描述

LinePhone3.2.7(android端最新版本) sip客户端 SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/ 立即下载

相关推荐

Linux云服务器上搭建《僵尸毁灭工程》私服全流程指南(避坑版)

本文详细介绍了在Linux云服务器上搭建《僵尸毁灭工程》私服的全流程指南,包括环境准备、SteamCMD安装、游戏服务器部署、内存优化配置及高级调优技巧。特别针对常见问题提供解决方案,帮助玩家快速搭建稳定的私服环境。

solidity8miner的博客 604

vertical-align详解

vertical-align详解1、定义2、vertical-align常用属性值3、属性值图解4、常用场景 Tips:内容主要来源于pink老师上课内容。 1、定义 vertical-align 属性设置元素的垂直对齐方式。 2、vertical-align常用属性值 baseline:默认值,元素放置在父元素的基线上。 top:把元素的顶端与行中最高元素的顶端对齐; middle:把此元素放置在父元素的中部。 bottom:把元素的顶端与行中最低的元素的顶端对齐。 3、属性值图解 4、常用场景

爱酸的博文 2万+

Cesium实战:3DTiles模型分层分户抽屉效果实现全攻略(附完整代码)

本文详细解析了在Cesium中为3DTiles模型实现分层分户抽屉效果的核心原理与完整代码。通过“主-副双模型”策略,结合属性过滤与矩阵变换,开发者能够创建出可交互、可探索的动态建筑可视化效果,适用于数字孪生、智慧城市及BIM可视化等场景。

d6e7f8g9h的博客 295

Css基础——vertical-align属性

CSS 的 vertical-align 属性使用场景: 经常用于设置图片或者表单(行内块元素)和文字垂直对齐。官方解释: 用于设置一个元素的垂直对齐方式,但是它只针对于行内元素或者行内块元素有效。行内块元素适用vertical-align属性,图片、表单都属于行内块元素,默认的 vertical-align 是基线对齐。此时可以给图片、表单这些行内块元素的 vertical-align 属性设置为 middle 就可以让文字和图片垂直 居中对齐了。

迪幻的博客 9471

坐标偏移不一致或瓦块重名的多个OSGB工程的融合

介绍如何使用实景三维小助手OSGBLab对坐标偏移不一致或瓦块重名的多个OSGB工程的融合

OSGBLab的博客 3232

树莓派4B没有serial0或ttyS0,serial0没有映射到ttyS0,serial0和serial1调换映射

环境: 树莓派4B,ubuntu mate20 现象 终端输入ls -l /dev,发现只有serial1->ttyAMA0,没有serial0页没有ttyS0,更没有二者的映射。网上很多方法都是树莓派3B和3B+的,我自己试过,不太适用于4B,下面的方法是4B的,我自己用是成功的。 解决方法 cd /boot/firmware sudo gedit config.txt 注意不是/boot下的config,而是/boot/firmware下的config 打开文件后,找到enable_uart=0

qq_41208487的博客 7891

vertical-align详细介绍

该属性可以接受多个值,包括关键字(如top、middle、bottom),长度单位(如像素、百分比)或百分比值的关键字(如baseline、sub、super)。是一个CSS属性,用于指定行内元素或表格单元格中内容的垂直对齐方式。它可以应用于行内元素、表格单元格或表格单元格中的内容。属性也可以接受长度单位(如像素)或百分比值。这些值用于指定元素相对于行框的偏移量。如果要垂直对齐块级元素,可以使用其他技术,如Flexbox或Grid布局。标签的行内元素将垂直居中对齐,而表格单元格中的内容将顶部对齐。

shi15926lei的博客 6788

SECS/GEM协议中的关键指令详解:从S1F1到S9F9的完整指南

本文详细解析了SECS/GEM协议中从S1F1到S9F9的关键指令,涵盖设备状态管理、控制诊断、报警处理等核心功能。通过实际案例和调试技巧,帮助开发者掌握半导体制造设备通信标准,解决SECS/GEM协议在实际工程应用中的通讯难题,提升生产线智能化水平。

weixin_26899659的博客 399

css之 vertical-align用法详解

vertical-align 属性设置元素的垂直对齐方式。 css中的vertical-align 属性只能用于 行内元素 和 置换元素(例如 图像和表单输入框) ,此属性不继承。 接下来我们用例子去分析这些值的意思及产生的效果: 首先我们先看一张图,文字的顶线、中线、基线,基线是字母x的下边缘 默认例子 <style> * { margin: 0; padding: 0; } div { width: 200px; line-height: 60

平平无奇小码农的博客 3万+

机器人中的数值优化(十二)——带约束优化问题简介、LP线性规划

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例

慕羽★的博客 3852

Node-RED系列(二九):使用slider与chart节点来实现双折线时间序列图

今天教使用dashboard的chart组件和slider组件来是实现一个双线的折线图。效果如下 拖动顶部的电量和水量,低下的图表会实时显示时间和值之所以做这个模拟案例,是将教 大家使用chart节点和slider节点先说一下slider节点,该节点是一个滑块节点,可以接受上一节点的 msg.payload,作为滑块的值, slider必须设置最大值和最小值。且不能动态设置。 此外当用户拖动slider滑块,改变值时,该节点会向下传递当前值 以属性payload装载。在说一下chart节点,该节点可以用于

知无涯 4969

深入CSS vertical-align属性

1. 前置知识 在真正讲解vertical-align属性之前,我们需要了解下面一些前置的知识 1.1 x-Height 在各种内联相关模型中,凡是涉及垂直方向的排版或者对齐的,都离不开最基本的基线(baseline)。例如,line-height 行高的定义就是两基线的间距,vertical-align 的默认值就是基线 字母 x 的下边缘(线)就是我们的基线。 通俗地讲,x-height 指的就是小写字母 x 的高度, 术语描述就是基线和等分线(mean line)(也称作中线,midline)之

qq_43293207的博客 9215

【YOLOv11】006、YOLOv11数据增强策略:Mosaic、MixUp等增强技术原理解析

摘要:YOLOv11在产线缺陷检测中遇到小尺寸瑕疵漏检问题,暴露了训练数据过于"干净"的缺陷。数据增强的核心是提升模型泛化能力,而非简单扩充数据。Mosaic增强通过多图拼接迫使模型处理多尺度目标,需注意边界框裁剪细节;MixUp通过线性插值使决策边界更平滑,但需避免类别冲突。自适应增强策略应随训练进度动态调整强度。实际应用中,需针对小目标、类别不平衡等场景调整增强参数,并确保验证与推理流程一致。数据增强应针对性解决具体问题,而非盲目尝试组合。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 366

深入浅出CSS(一):line-height与vertical-align的性质

【测试代码】 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>vertical与line-height测试</title> 6 <style> ...

weixin_30402343的博客 149

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

css笔记 vertical-align详解

vertical-align 我们来讨论一下CSS的属性vertical-align。它一般的用途,其实就是用来排列彼此相邻的文本和元素的。 但是有时候,他在工作的时候,也会有一些诡异的表现,让我们无所适从。比如说你可能碰见过这样的情况,当你改变了一个元素的vertical-align属性的值以后,这个元素的排列方式并没有发生变化,但是呢,紧挨着它的元素却变了。 因此,为了减少未来因此而造成的痛苦,我仔细研究了W3C的CSS规范,并且一次性的澄清了vertical-align的所有表现。 现在就让我们揭开它

JiuMeilove的博客 4万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

深入理解css中vertical-align属性

div{.align{*/<div></div><div class="align">为什么?</div>

2403_88477236的博客 2396

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

CSS属性vertical-align详解(CSS之五)

CSS属性vertical-align详解(CSS之五) 作用对象 vertical-align的意思是在垂直方向进行对齐。它主要对以下属性的元素有效 inline元素、inline-block元素和普通的文本。 行盒:line-box 定义: (盒的排布方式,不是行盒)在一个内联格式化上下文中,盒是一个接一个水平放置的,从包含块的顶部开始。这些盒之间的水平margin,border和padding都有效。 (盒的对齐方式,不是行盒)盒可能以不同的方式竖直对齐:以它们的底部或者顶部对齐,或者以它们里面的文

wenbintian的博客 3466

【CSS】vertical-align属性

总之一句话,就是极其不规律,我们如果用弹性盒去处理这些元素,得到的结果是全部垂直居中,或者全部换行。特异性的针对某一个,某几个元素设置样式,我们也可以通过定位,或者设置外边距,内边距实现。但是如果有大量元素呢?//使元素的基线对齐到父元素的基线之上的给定长度,可以是负数。//使元素的中部与父元素的基线加上父元素高的一半对齐。//使元素的基线对齐到父元素的基线之上的给定百分比。//使元素的基线与父元素的下标基线对齐。//使元素的基线与父元素的基线对齐。使元素的中部与父元素的基线加上父元素高的一半对齐。

杜永康的博客 4219

css难以理解的属性:vertical-align

vertical-align:middle; middle指的是基线往上1/2 "x-height"高度。 中间对齐(vertical-align : middle)通常使用在图片上,将图片的垂直方向的中线与文本行的中线对齐。 行内元素的排列按照的所有元素的基线排列 行内元素没有高就无法定义line-height 块及元素可以使用line-height。 行高不是两行文字基线的距离,是字体内容区域和上下扩展区域 行高( line-height ):两行文字基线之间的距离 line-height 属性设置

liao_yii的博客 1801

css中vertical-align的使用图解

我们经常要定义行内元素在一行中的垂直位置,从而使其降低或者升高,满足某些布局情况,那么就要用到vertical-align属性。 该属性定义了行内元素的基线相对于该元素所在行的基线的垂直对齐。 如下一段代码: vertical-align #main div{border: 1px solid green;padding: 0;margin-

YinghaoGuo的博客 3678

Vertical-Align的原理及使用

好,我们聊聊vertical-align。这个属性主要目的用于将相邻的文本与元素对齐。而实际上,verticle-algin可以在不同上下文中灵活地对齐元素,以及进行细粒度的控制,不必知道元素的大小。元素仍然在文档流中,因而其他元素可以根据它们大小的变化进行相应的调整。一个有用的例子就是居中图标与旁边的文本。 Vertical-Align是个怪物 可是,vertical-align有时候也很难搞,经常导致困惑。好像有什么神秘的规则在起作用。比如,我们改变了某个元素的vertical-align而它的对齐方式

weixin_46625830的博客 2456

CSS text-align 和 vertical-align 属性

CSS text-align 属性 定义和用法 text-align 属性规定元素中的文本的水平对齐方式。 该属性通过指定行框与哪个点对齐,从而设置块级元素内文本的水平对齐方式。通过允许用户代理调整行内容中字母和字之间的间隔,可以支持值 justify;不同用户代理可能会得到不同的结果。 可能的值 值 描述 le

ssisse的博客 3453

css基础--vertical-align

1、vertical-align属性值分为以下4类: 线类,如baseline(默认值)、top、middle、bottom; 文本类,如text-top、text-bottom; 上标下标类,如sub、super; 数值百分比类,如20px、2em、20%等。 数值百分比类根据计算值的不同,相对于基线往上或往下偏移,到底是往上还是往下取决于vertical- align的计算值是正值还是负值,如果是负值,往下偏移,如果是正值,往上偏移。 vertical-align的默认值是baseline,即基线对齐,

chujinmaolu的博客 2923

CSS中vertical-align不起作用

问题发现 我们有的时候想垂直居中,我们就写上vertical-align:middle,但是大多数情况下是不起作用的,你知道是为什么嘛? 我的发现 vertical-align:middle这个属性必须和line-height一起使用,就是说它的什么top、middle、bottom这三个属性值都是相对于line-height的,分别的含义是,行高上,行高居中,行高底。 而且还要注意的是vertical-align这个属性是加在子元素上的,并不是加在父元素上的。而且这个子元素必须是行内块元素才有效。 代码示

程麒阁的博客 9182

【css】vertical-align默认值baseline

幽灵空白节点,可以解释 内联元素的一些奇怪的行为。 尺寸不是预期的尺寸 <body> <div> x<span>x刷我滴卡</span> </div> </body> div{ line-height: 32px; } 此时 div的高度是32px,与line-height中设置的尺寸一致。 div{ line-height: 32px;

richest_qi的博客 1908

CSS vertical-align 属性

定义和用法 vertical-align 属性设置元素的垂直对齐方式。 说明 该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。 默认值: baseline 继承性: no 版本: CSS1 JavaScript 语法: object.style.verticalAlign...

极客神殿 1348
上一篇: 简单说 用CSS做一个魔方旋转的效果
下一篇: 简单说 JavaScript中的tostring( ) 与 valueOf( )方法
FEWY
FEWY 领域专家: 前端开发技术领域 领域专家: 前端开发技术领域
博客等级 码龄10年 504粉丝 77原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值