CSS实现垂直居中的方法

1、relative+absolute定位:

(1)css+html代码

<!doctype html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Document</title>
        <style type="text/css">
            * {
                margin: 0;
                padding: 0;
            }
            
            .parent {
                width: 400px;
                height: 400px;
                margin: 100px;
                border: 1px solid red;
                position: relative;
            }
            
            .child {
                width: 200px;
                height: 200px;
                border: 1px solid green;
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                margin: auto;
            }
        </style>
    </head>

    <body>
        <div class="parent">
            父元素
            <div class="child">
                子元素
            </div>
        </div>
    </body>
</html>

(2)效果


Paste_Image.png

(3)兼容性:兼容全部浏览器

2、flex布局:

(1)html+css代码

<!doctype html>
<html lang="en">

    <head>
        <meta charset="UTF-8" />
        <title>Document</title>
        <style type="text/css">
            * {
                margin: 0;
                padding: 0;
            }
            
            .parent {
                width: 400px;
                height: 400px;
                margin: 100px;
                border: 1px solid red;
                display: flex;
                justify-content: center;
                align-items: center;
            }
            
            .child {
                width: 200px;
                height: 200px;
                border: 1px solid green;
            }
        </style>
    </head>

    <body>
        <div class="parent">
            <div class="child">
                子元素
            </div>
        </div>
    </body>

</html>

(2)效果


Paste_Image.png

(3)兼容性

Paste_Image.png

3、relative+transform定位:

(1)html+css代码

<!doctype html>
<html lang="en">

    <head>
        <meta charset="UTF-8" />
        <title>Document</title>
        <style type="text/css">
            * {
                margin: 0;
                padding: 0;
            }
            
            .parent {
                width: 400px;
                height: 400px;
                margin: 100px;
                border: 1px solid red;
            }
            
            .child {
                width: 200px;
                height: 200px;
                border: 1px solid green;
                position: relative;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
            }
        </style>
    </head>

    <body>
        <div class="parent">
            <div class="child">
                子元素
            </div>
        </div>
    </body>

</html>

(2)效果


Paste_Image.png

(3)兼容性


Paste_Image.png

总结:

根据项目浏览器兼容性要求,选择合适的垂直居中的方案。方案2和方案3适合用在移动端项目,方案1兼容性方面最好。

作者:王翔 QQ:592767079 Email:wangxianglengye.com 期待共同进步!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 收听音频,戳链接,旧号itclan已暂停使用,欢迎关注微信itclanCoder公众号可收听更多音频 前言 关于网...
    itclanCoder阅读 12,534评论 3 30
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 5,019评论 0 1
  • 有一些文字在仓颉之前被创造,但人们并不知道那就是文字。 在创造和使用这些文字的人们心里,它们就和小棒和石子一样。 ...
    干国祥备课老干阅读 7,089评论 2 7
  • 1日精进:敬畏—进入—体验—交给—持续 1,缺啥补啥,怕啥练啥; 2,一切为我所用,所用为团队家; 3,我想变,...
    京心达何海港阅读 1,841评论 0 0

友情链接更多精彩内容