【问题标题】:How to horizontal & vertical center a div [duplicate]如何水平和垂直居中 div [重复]
【发布时间】:2011-05-18 13:26:27
【问题描述】:

这里是源代码:

<div id = "outer">
     <div id="top">
     ....
     </div>

     <div id="inner">
     ....
     </div>

     <div id="bottom">
     ....
     </div>
</div>

如何让 div(内部 ID)、水平和垂直居中?

我可以水平居中,但我不能做垂直居中...

【问题讨论】:

    标签: html css center


    【解决方案1】:

    使用 JavaScript 或尝试使用 Vertical Centering in CSS

    【讨论】:

      【解决方案2】:

      最简单、最可靠的方法是使用 JavaScript。试试this blog post中给出的代码。

      尝试在 CSS 中实现是一场噩梦,因为 CSS 并非旨在处理垂直对齐。

      【讨论】:

        【解决方案3】:

        如果您知道内部 div 的尺寸,则可以使用 CSS。

        #outer {
            position: relative;
        }
        
        #inner {
            position: absolute;
            width: 200px;
            height: 200px;
            left: 50%;
            top: 50%;
            margin-top: -100px;
            margin-left: -100px;
        }
        

        还有其他选项使用display: table-cellvertical-align: middle

        其他选项包括 JavaScript 来动态确定内部 div 的尺寸并像之前的答案一样设置负边距。

        【讨论】:

          【解决方案4】:

          您必须使用display: table-cell;vertical-align: middle; 才能在没有 JavaScript 的情况下完成此操作。

          【讨论】:

            【解决方案5】:
            <!doctype html>
            <html>
            <head>
            <title>Centered Image Gallery</title>
            <style type="text/css">
            
            /* Use height:100% for top-level containers for fluid height */
            html, body, .container, .placeholder { height: 100%;}
            
            /* Set image dimensions and offsets */
            img { width:16px; height:16px; margin-left: 20px; margin-top: 10px; }
            
            /* Use text-align:center for content container for fluid horizontal centering */
            .container { text-align:center; }
            
            /* Use width of less than 100% for Firefox and Webkit */
            .wrapper { width: 50%; }
            
            /* Use vertical-align:middle for fluid vertical centering */
            .placeholder, .wrapper, .content { vertical-align: middle; }
            
            /* Use inline-block for wrapper and placeholder so vertical-align works */
            .placeholder, .wrapper { display: inline-block; }
            
            /* Use min-width to make the inner container a responsive block element */
            .fixed { min-width: 1px; }
            
            /* Use display:inline so text-align works */
            .content { display:inline; }
            
            @media,
             {
             .wrapper { display:inline; }
             }
             </style>
            
            </head>
              <body>
              <div class="container">
                <div class="content">
                    <div class="wrapper">
                      <div class="fixed">
                        <img src="http://microsoft.com/favicon.ico">
                        <img src="http://mozilla.com/favicon.ico">
                        <img src="http://webkit.org/favicon.ico">
                        <img src="http://userbase.kde.org/favicon.ico">
                        <img src="http://www.srware.net/favicon.ico">
                        <img src="http://build.chromium.org/favicon.ico">
                        <img src="http://www.apple.com/favicon.ico">
                        <img src="http://opera.com/favicon.ico">
                        <img src="http://microsoft.com/favicon.ico">
                        <img src="http://mozilla.com/favicon.ico">
                        <img src="http://webkit.org/favicon.ico">
                        <img src="http://userbase.kde.org/favicon.ico">
                        <img src="http://www.srware.net/favicon.ico">
                        <img src="http://build.chromium.org/favicon.ico">
                        <img src="http://www.apple.com/favicon.ico">
                        <img src="http://opera.com/favicon.ico">
                        <img src="http://mozilla.com/favicon.ico">
                        <img src="http://webkit.org/favicon.ico">
                        <img src="http://userbase.kde.org/favicon.ico">
                        <img src="http://www.srware.net/favicon.ico">
                        <img src="http://build.chromium.org/favicon.ico">
                        <img src="http://www.apple.com/favicon.ico">
                        <img src="http://opera.com/favicon.ico">
                        <img src="http://mozilla.com/favicon.ico">
                        <img src="http://webkit.org/favicon.ico">
                        <img src="http://userbase.kde.org/favicon.ico">
                        <img src="http://www.srware.net/favicon.ico">
                        <img src="http://build.chromium.org/favicon.ico">
                        <img src="http://www.apple.com/favicon.ico">
                        <img src="http://opera.com/favicon.ico">
                        <img src="http://mozilla.com/favicon.ico">
                        <img src="http://webkit.org/favicon.ico">
                        <img src="http://userbase.kde.org/favicon.ico">
                        <img src="http://www.srware.net/favicon.ico">
                        <img src="http://build.chromium.org/favicon.ico">
                        <img src="http://www.apple.com/favicon.ico">
                        <img src="http://opera.com/favicon.ico">
                        <img src="http://mozilla.com/favicon.ico">
                        <img src="http://webkit.org/favicon.ico">
                        <img src="http://userbase.kde.org/favicon.ico">
                        <img src="http://www.srware.net/favicon.ico">
                        <img src="http://build.chromium.org/favicon.ico">
                        <img src="http://www.apple.com/favicon.ico">
                        <img src="http://opera.com/favicon.ico">
                        <img src="http://mozilla.com/favicon.ico">
                        <img src="http://webkit.org/favicon.ico">
                        <img src="http://userbase.kde.org/favicon.ico">
                        <img src="http://www.srware.net/favicon.ico">
                        <img src="http://build.chromium.org/favicon.ico">
                        <img src="http://www.apple.com/favicon.ico">
                        <img src="http://opera.com/favicon.ico">
                        <img src="http://mozilla.com/favicon.ico">
                        <img src="http://webkit.org/favicon.ico">
                        <img src="http://userbase.kde.org/favicon.ico">
                        <img src="http://www.srware.net/favicon.ico">
                        <img src="http://build.chromium.org/favicon.ico">
                        <img src="http://www.apple.com/favicon.ico">
                        <img src="http://opera.com/favicon.ico">
                        <img src="http://mozilla.com/favicon.ico">
                        <img src="http://webkit.org/favicon.ico">
                        <img src="http://userbase.kde.org/favicon.ico">
                        <img src="http://www.srware.net/favicon.ico">
                        <img src="http://build.chromium.org/favicon.ico">
                        <img src="http://www.apple.com/favicon.ico">
                        <img src="http://opera.com/favicon.ico">
                        <img src="http://mozilla.com/favicon.ico">
                        <img src="http://webkit.org/favicon.ico">
                        <img src="http://userbase.kde.org/favicon.ico">
                        <img src="http://www.srware.net/favicon.ico">
                        <img src="http://build.chromium.org/favicon.ico">
                        <img src="http://www.apple.com/favicon.ico">
                        <img src="http://opera.com/favicon.ico">
                        <img src="http://mozilla.com/favicon.ico">
                        <img src="http://webkit.org/favicon.ico">
                        <img src="http://userbase.kde.org/favicon.ico">
                        <img src="http://www.srware.net/favicon.ico">
                        <img src="http://build.chromium.org/favicon.ico">
                        <img src="http://www.apple.com/favicon.ico">
                        <img src="http://opera.com/favicon.ico">
                    </div>
                  </div>
               </div>
               <span class="placeholder"></span>
            </div>
            
            </body>
            </html>
            

            【讨论】:

              【解决方案6】:

              这满足了我对任何东西垂​​直居中的需求Centering in the Unknown。它支持 Internet Explorer 8(及更高版本)和现代浏览器。

              【讨论】:

                【解决方案7】:

                我猜你想要一个 div 对齐垂直和水平中心,在所有浏览器中都有动态的高度和宽度。

                jSfiddle

                HTML

                <div class="main">
                    <div class="contentWrapper">
                        <div class="content">My Content </br> Goes here</div>
                    </div>           
                </div>
                

                CSS

                .main {
                    border: 1px solid #f00;
                    height: 400px;
                    width: 400px;
                    position: relative
                }
                .contentWrapper {
                    display: table;
                    width: 100%;
                    height: 100%;
                    *height: auto;
                    *position: absolute;
                    *top: 50%;
                }
                .content {
                    display: table-cell;
                    text-align: center;
                    vertical-align: middle;
                    *position: relative;
                    *top: -50%;
                }
                

                【讨论】: