美文网首页
三十四、vertical-align属性应用

三十四、vertical-align属性应用

作者: honest涛 | 来源:发表于2021-04-24 17:49 被阅读0次

    vertical-align

    CSS的\color{red}{vertical-align}属性使用场景:经常用于设置图片或者表单(行内块元素)和文字垂直对齐。
    官方解释:用于设置一个元素的\color{red}{垂直对齐方式},但是它只针对于行内元素或者行内块元素有效。
    语法:

    vertical-align : baseline | top | middle | bottom
    
    描述
    baseline 默认。元素放置在父元素的基线上。
    top 把元素的顶端与行中最高元素的顶端对齐。
    middle 把此元素放置在父元素的中部。
    bottom 把元素的顶端与行中最低的元素的顶端对齐。
    image.png

    1、 图片、表单和文字对齐

    图片、表单都属于行内块元素,默认的vertical-align是基线对齐。

    image.png
    此时可以给图片、表单这些行内块元素的\color{red}{vertical-align属性设置为middle}就可以让文字和图片垂直居中对齐了。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>利用vertical-align实现图片文字垂直居中对齐</title>
        <style>
            img {
                /* vertical-align: bottom; */
                /* 让图片和文字垂直居中 */
                vertical-align: middle;
                /* vertical-align: top; */
            }
            textarea {
                vertical-align: middle;
            }
        </style>
    </head>
    <body>
        <img src="images/ldh.jpg" alt="">  pink老师是刘德华
    
        <br>
        <textarea name="" id="" cols="30" rows="10"></textarea> 请您留言
    </body>
    </html>
    
    image.png

    2、解决图片底部默认空白缝隙问题

    bug:图片底侧会有一个空白缝隙,原因是行内块元素和文字的基线对齐。


    image.png

    主要解决方法有两种:
    1.给图片添加 vertical-align: middle | top | bottom 等;(提倡使用)
    2.把图片转换为块级元素 display:block;


    image.png
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>图片底侧空白缝隙解决方案</title>
        <style>
            div {
                border: 2px solid red;
            }
            img {
                vertical-align: middle;
                /* display: block; */
            }
        </style>
    </head>
    <body>
        <div>
            <img src="images/ldh.jpg" alt="">
        </div> 
    </body>
    </html>
    
    image.png

    相关文章

      网友评论

          本文标题:三十四、vertical-align属性应用

          本文链接:https://www.haomeiwen.com/subject/cajlrltx.html