• 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来调整不会出现该现象。如果有什么描述的不对,欢迎评论指出,本人还是程序员小白~

    为科技世界而奋斗的小小程序员
  • 相关阅读:
    あ 段
    需要注意学习.net过程的要点
    最近因为textview高度问题疯了疯了疯了
    判断是否可以使用麦克风
    tabbar加小红点
    textView富文本点击事件
    通过某一个符号截取字符串
    局部富文本
    判断是否包含某个字符串
    UIProgressView 圆角
  • 原文地址:https://www.cnblogs.com/jeremy5810/p/8288930.html
Copyright © 2020-2023  润新知