zoukankan      html  css  js  c++  java
  • vertical-align属性上遇到的坑

    今天来说说在vertical-align属性上遇到的bug

    代码结构大概是这样的

     效果图

    效果是这样的

    inline-block 的 vertical-align属性默认是baseline对齐 也就是基线对齐 所以这三个inline-block 会基线对齐,而其基线标准就是最后一个inline-block的基线,如果最后这个元素是空的,没有内容,那么这个基线就是元素的margin-bottom被边框线, 如果这个元素里面有内容,那么这个元素的基线就是元素里面内容最后一行文字的基线, 所以我们仔细看看 发现三个li 元素在一行.第一个li 有文字,其基线就为文字底部,后面的没有文字,其基线为元素的边框底部.

    所以 第一行的文字底部是和第2 第3 两个li的底部边框线对齐的.

    所以最直接的解决方法就是在li 元素里添加vertical-align 属性不为baseline的值,

    下面是调试结果

    总结:
     由于行内块元素默认有vertical-align:baseline;

    所以vertical-align 属性只能用在行内块元素或者table标签身上

    baseline有四个属性值 (top |  bottom |  middle  |baseline(默认))

    vertical-align属性的使用场景

    ✔ 解决行内块元素底部3像素空白
    ✔ 可以通过该属性实现图片垂直居中
    【1,先设置行高等于容器的高度(让文字的中线居中对齐)
    2. 设置图片的vertical-align:middle;(让图片和文字的中线对齐)】

  • 相关阅读:
    Python 面向对象补充
    Python 多态
    Web_php_unserialize-攻防世界XCTF
    sqli-labs之Page-4
    sqli-labs之Page-3
    sqli-labs之Page-1
    DVWA-反射型XSS
    DVWA-File Upload
    DVWA-File Inclusion
    DVWA-CSRF
  • 原文地址:https://www.cnblogs.com/suriz/p/9318909.html
Copyright © 2011-2022 走看看