码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 彻底搞懂vertical-align 底线、基线、中线的含义


    前言

    相信大多数掘友们应该都用过 vertical-align ,它可以用于行内元素和表格元素中实现垂直方向的居中。但在以往的使用中,我却发现了一些意外情况,让我们来看看吧!知道vertical-align 原理的小伙伴可以直接关掉文章了—.—

    例子

    例1. 父盒子没设置高度,为什么底部还挤出来一段距离?

    css

    .container {background-color: aquamarine;
    }
    img {width: 280px;
    } 
    
    • 1
    • 2
    • 3
    • 4

    html

    • 1
    • 2
    • 3

    例2. 设置了 vertical-align: middle;,为什么图片还没有垂直居中与父盒子?且上边挤出的距离大于下边挤出的距离?

    css

    .container {width: 300px;background-color: aquamarine;line-height: 200px;height: 200px;
    }
    img {height: 190px;vertical-align: middle;
    } 
    
    • 1
    • 2
    • 3
    • 4

    html

    • 1
    • 2
    • 3

    基本概念解释

    先来看下底线、基线、中线的基本含义吧,下面的图片解释了行高和这三根线的位置。

    • 底线(bottom line):上下底线之间的距离就是行高。
    • 基线(base line):通俗的说就是与英文字母 x 最底边相切的那条线就是底线。
    • 中线(middle line):垂直与x中点的那条线

    有没有感觉像小学读书时用的拼音格子本。记得那时候还说着一口方言呢,哈哈,有点扯远了。来看下面的解释吧!

    解答例子中的问题

    例1

    vertical-align 默认是 基线对齐(baseline),也就是自己的基线和父盒子的基线对齐,而图片img莫得的基线为自己的底部,所以父盒子下方会有挤出来一段距离,

    解决方案:

    • 设置父盒子的字体为0,让基线和底线重合,这些就不会被挤出来了
    • 想办法让img盒子的基线和父盒子的底线对齐,比如设置img盒子 vertical-align: middle;

    例2

    根据mdn的解释我们可以发现 vertical-align: middle; 的意思是:使元素的中部与父元素的基线加上父元素 x-height(译注:x 高度)的一半对齐。这里所说的 x-height 是指英文字母 x 的高度的意思。通常 x 的垂直中心点不是父元素的垂直中心点,且会随着父元素字体的大小变化而变化,所以才造成上下会齐出一段距离

    解决方案:

    • 让父盒子的 字体设置为0就可以了;
  • 相关阅读:
    【Transformers】第 8 章:使用高效的 Transformer
    C++编程良好习惯
    vue入门
    代码随想录1刷—哈希表篇
    微信小程序打开弹出层页面还可以滚动,导致弹出层和内容分离。不如筛选的时候。
    基于JAVA南京传媒学院门户网计算机毕业设计源码+系统+mysql数据库+lw文档+部署
    SpringCloud链路追踪——Spring Cloud Sleuth 和 Zipkin 介绍 & Windows 下使用初步
    GBase 8c V3.0.0数据类型——注释信息函数
    【批处理DOS-CMD命令-汇总和小结】-环境变量、路径变量、搜索文件位置相关指令——set、path、where
    MYSQL高级篇----简介介绍
  • 原文地址:https://blog.csdn.net/web22050702/article/details/126524302
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号