关于垂直居中

垂直居中,是前端的基本操作,我主要在两种情况下进行简单的实现。分别为:

  • 已知高度(指自身高度)
  • 未知高度
    简单的html代码如下:
  <style>
    div.father{
            height: 300px;
            width: 500px;
            border: 1px solid red;
        }
  </style>
  <div class="father">
        <div class="child">123</div>
  </div>

- 未知高度时

  • 1.通过 display:table-cell 实现(此方法针对 img 在 div 标签中垂直居中很适用)
    div.father{
            display: table-cell;
            vertical-align: middle;/*IE8 及以上*/
        }
  • 2.通过transform: translateY(-50%) 实现
    div.father{
            position: relative;
        }
    div.child{
            position: absolute;
            top: 50%;
            transform: translateY(-50%);/* CSS3 */
        }

- 已知高度时

  • 1.通过 margin-top 实现
    div.father{
            position: relative;
        }
    div.child{
            position: absolute;
            top: 50%;
            height: 100px;
            margin-top: -50px;
        }
  • 2.最后是一种比较特别的情况,当 .child 中的内容不超过一行时,通过设置 height = line-height 也可实现垂直居中
    div.child{
            height: 300px;
            line-height: 300px;
        }

以上,是简单的总结,兼容性方面也很差,方法还有很多。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 书接上文,本次我们来谈谈怎样根据需求来做到合适的垂直居中。 1.文字居中-line-height; 在文字垂直居中...
    早安马丁阅读 558评论 0 0
  • 这几天一直在鼓捣Ubuntu,进度有点落下了....哈哈。我终于可以在ubuntu里上b站了(就是不支持独显---...
    知更鸟_b4d4阅读 241评论 0 0
  • 前端7班 陆恩泽在网页布局中,我们经常需要对div区块,文本和图片进行垂直居中,以便达到美观的效果。上一次直播课中...
    饥人谷_陆恩泽阅读 225评论 0 2
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,863评论 1 92
  • 今天学习了伺服电机的工作原理,下午也自己装了软件,试验了一下,感觉还可以,觉得现在的课程挺难理解的。写程序根据老师...
    庞爽阅读 151评论 0 0