CSS如何实现垂直水平居中

这篇文章主要介绍了关于CSS如何实现垂直水平居中,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

前言

面试中常常被问到,如何使用css来实现一个元素的垂直水平方向上居中,特别是笔试题的时候,这道题目的出现频率还是比较高的,当然,在我们的生活中,也常常会有垂直水平居中的需求。

CSS实现垂直水平居中的三种方案

1.容器内元素display:inline/inline-block

这种情况就比较容易了,直接设置容器的text-align就可以实现内容元素的水平居中,设置垂直居中的话要设置容器的高度,然后设置容易的line-height===height就可以,如下:

  1.      

            this is text     

登录后复制

  1.     .container{            text-align: center;                height: 50px;                background: green;                line-height: 50px;            }

登录后复制

2.容器内元素display:block,且元素宽高已知

这种情况下我们使用position这个属性结合设置偏移来实现。首先设置容器的position:relative,设置元素position为absolute,然后设置元素(.inner-box)的偏移top,left,margin-top,margin-left,其中,top,left设置为50%,而margin-top/margin-left的偏移量均为本身元素高/宽的一半,为负值。

代码如下:

  1.     

            

        

登录后复制

  1.     .container {                height: 200px;                width: 200px;                background: pink;                position: relative;            }    .inner-box {            position: absolute;             top: 50%;             left: 50%;             margin-top: -50px;             margin-left: -50px;             height: 100px;             width: 100px;             background: green;         }

登录后复制

3.容器内元素display:block,且元素宽高未知

这种方法与方法二类似,但是不同的是不能通过设置margin-top/left偏移来达到效果了,因为容器内元素的宽高是未知的。这次我们通过设置left/top/bottom/right:0,然后设置margin:auto。
代码如下:

立即学习“前端免费学习笔记(深入)”;

  1.     

            

        

登录后复制

  1.     .container {                height: 200px;                    width: 200px;                    background: pink;                    position: relative;                }    .inner-box {            position: absolute;               height: 100px;               width: 100px;               top: 0;               right: 0;               left: 0;               bottom: 0;               margin: auto;               background: green;           }

登录后复制

后话

实现垂直水平居中的方式有多种,通过设置translate,或者使用flex布局也是可以的,但是以上写的几种方法是兼容性比较好的。如果有不足,欢迎这位大佬指出。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

利用CSS实现各种居中的方法

以上就是CSS如何实现垂直水平居中的详细内容,更多请关注【创想鸟】其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

点点赞赏,手留余香

给TA打赏
共0人
还没有人赞赏,快来当第一个赞赏的人吧!
    编程技术

    CSS样式的覆盖规则

    2025-3-10 23:19:47

    编程技术

    用CSS设置文本样式的解析

    2025-3-10 23:19:52

    0 条回复 A文章作者 M管理员
    欢迎您,新朋友,感谢参与互动!
      暂无讨论,说说你的看法吧
    个人中心
    购物车
    优惠劵
    今日签到
    私信列表
    搜索