css:子元素div 上下左右居中方法總結

  最近在面試,不停地收到了知識衝擊,尤爲是對於一些基礎的css、html、js問題居多,因此自我也在作反思,今天就css問題,如何讓一個子元素div塊元素上下左右居中 (如下總結方法,都已獲得驗證)css

  情景一一個瀏覽器頁面中,只有一個div模塊,讓其上下左右居中html

      解決方案:  { position:fixed;web

              left:0;面試

             right:0;瀏覽器

             top:0;佈局

             bottom:0;flex

             margin:auto; }spa

      備註:此處小編使用position:fixed爲最佳方案,由於position:fixed定位是相對於整個瀏覽器頁面的。orm

  情景二一個父元素div,一個已知寬度、高度的子元素div(200*300)htm

      解決方案: 一、position佈局

             {

              position:absolute/fixed;

              top:50%;

              left:50%;

              margin-left:-100px;

              margin-top:-150px;

              }

  情景三:一個父元素div,一個未知寬度、高度的子元素div

      解決方案: 一、position佈局,position設爲absolute,其餘同情景一

            二、display:table

            父級元素:{ display:table;}

            子級元素: { display:table-cell;vertical-align:middle }

            三、flex佈局

            父級元素:{ display:flex;flex-direction:row;justify-content:center;align-items:center;}

            子級元素:{flex:1}

           四、translate

            position: absolute;            top: 50%;            left: 50%;            -webkit-transform: translate(-50%, -50%);            -moz-transform: translate(-50%, -50%);            -ms-transform: translate(-50%, -50%);            -o-transform: translate(-50%, -50%);            transform: translate(-50%, -50%);

相關文章
相關標籤/搜索