zoukankan      html  css  js  c++  java
  • 浅析vertical-align属性

    一、摘要

      vertical-align用来指定行内元素(inline)行内块元素(inline-block)或表格单元格(table-cell)元素的垂直对齐方式。也就是说,对于块级元素,vertical-align是不起作用的。

    二、作用

    1.实现多行文本垂直居中:

    .shadow{
         width: 50%;
         height: 300px;
         padding:10px;
         text-align: center;
         background: pink;
     }
     .shadow i{
         display: inline-block;
         height: 100%;
         vertical-align: middle;
     }
     .shadow span{
         display: inline-block;
         line-height: 1.8rem;
         vertical-align: middle;
     }
    <div class="shadow">
        <i></i><span>lallalala啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦,我是特别长特别长的文本</span>
    </div>
     <!-- <i><span>不能换行,否则会失效,我也不知道为啥。 -->

    还有一种简单的文本垂直居中的方法就是对容器元素设置如下的属性即可:

    <div class="shadow">
        lallalala啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦啦
    </div>
     .shadow{
         width: 300px;
         height: 300px;
         padding:10px;
         text-align: center;
         background: pink;
         display: table-cell;vertical-align: middle;
     }

    效果如下:

    2.小图标与文本横向对齐:

    <div class="shadow">
        <img src="./1569552386(1).png" alt="">我想在图片的中间
    </div>
    .shadow img{
         width: 300px;
         height: 300px;
         border:1px solid #000;
     }

    效果如图1:

      图1            

                                                                                                                                             图2

    .shadow img{
         width: 300px;
         height: 300px;
         border:1px solid #000;
         vertical-align:-150px;        /*负值会使图片向下移动*/
     }
    
    加上vertical-align负值,可以进行精准的纵向偏移调整,从而实现效果图2.

    3.实现上标或者下标文字:

    在HTML中,<sub>和<sup>分别表示下标和上标,实际上,这两个元素是因为具有以下的浏览器默认样式,所以,完全可以对其他元素设置这样的样式将其变成上标或下标。

    <div class="shadow">
        <p>这是一行文本 <i class="sub">2</i></p>
        <p>这是一行文本 <i class="sup">3</i></p>
    </div>
    .shadow .sub{
         vertical-align: sub;font-size: smaller;
     }
     .shadow .sup{
         vertical-align: super;font-size: smaller;
     }

    效果图如下:

  • 相关阅读:
    Android源码编译jar包BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY的区别(一)
    模块化开发
    最近理解记忆
    ES6语法—— 模块化开发之import和export命令详解
    关于阿里图标库Iconfont生成图标的三种使用方式(fontclass/unicode/symbol)
    2.新知-display:inline-block元素之间空隙的产生原因和解决办法
    规避同源
    vue总结
    vue组件通信
    vue 多次学习
  • 原文地址:https://www.cnblogs.com/liAnran/p/11643688.html
Copyright © 2011-2022 走看看