zoukankan      html  css  js  c++  java
  • ul、li中的DIV垂直居中

    当li高度可动态改变时,li中的DIV始终保持垂直居中。

    由于高度不固定,不能用margin或者padding解决。

    最头疼的是vertical-align: middle;也莫名其妙的失效了。

     

    最终想到了相对定位这个办法,简单代码如下:

    <li class="aaa">
        <div class="bbb">
            <p>DIV里面的内容</p>
        </div>
    </li>
    
    
    .aaa{
      height:100%;
      position: relative;
    }
    
    .bbb{
      position: absolute;
      top: 50%;
      margin-top: -22px;
    }

    代码解释:

    top: 50%; 作用是利用相对定位实现垂直居中。但是设置之后,元素会稍有偏差。

    margin-top: -22px;作用把偏差调整回来,(-22px只是举例子,实际大小按照样式设定)。

     

    到这里可能有人会问,为什么不直接在top中调整,而需要另外添加margin-top来调整呢,因为如果top不是50%的话,比如30%,那么随着li的高度变化,DIV实际在li里面的高度就会越接近真正的30%位置。利用margin-top来调整不会出现该现象。如果有什么描述的不对,欢迎评论指出,本人还是程序员小白~

    为科技世界而奋斗的小小程序员
  • 相关阅读:
    汉字在屏幕上的显示
    手机上的ROM与RAM
    数据表示和计算
    存储器的层次结构
    计算机系统概述
    Python中的文件路径的分隔符
    网络爬虫的基本原理
    iOS多线程简介
    Quartz2D简介
    iOS 事件传递响应链
  • 原文地址:https://www.cnblogs.com/jeremy5810/p/8288930.html
Copyright © 2011-2022 走看看