1. 程式人生 > >模態框中水平垂直居的問題

模態框中水平垂直居的問題

理解 src bottom flow back 圖片 over text ccf

  大家好,今天我們來說一下在寫模態框的時候怎麽使裏面的內容垂直水平居中,我們先把目光放得簡單一點,

  這個問題其實就等同於怎麽讓一個div垂直水平居中,那我們怎麽來實現這個問題呢?有5種解決辦法。

  首先,第一種情況,我們知道div1寬高的情況下:

  <div id="div1"></div  #div1{
      width: 200px;
  height: 100px;
  background: #54fa45;
  position: absolute;
  left:50%;
  top:50%;
  margin-left:-100px; //設置div1的左邊距為寬度的一半

  margin-top:-50px; //設置div1的上邊距為高度的一半
  }
  第二種情況下:不知道div1的寬高,就好比設置圖片的垂直水平居中:
    <img src="img.png" >
    img{
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
     }
    這種情況其實很簡單,給圖片一個絕對定位,然後上下左右都為0,最後margin:auto;
    第三種情況:利用display:table
      <div id="box">
       <div id="div1">
      <img src="img/map-pin.png" >
      </div>
      </div>
        html,body{
        height: 100%;
        overflow:hidden;
        }
        #box{
        width:100%;
        height:100%;
         background: #dbffd8;

        display:table;
        }
        #div1{
        height:100%;
        width:100%;
        display:table-cell;
        text-align:center;
        vertical-align:middle;
        }
   第四種情況:利用display:
table-cell;
      <div id="box">
       <div id="div1">
       <img src="img/map-pin.png" >
      </div>
    </div>
      
    html,body{
    height: 100%;
    overflow:hidden;
    }
    #box{
    width:100%;
    height:100%;
    background: #dbffd8;
    display:table;
    }
    #div1{
    height:100%;
    width:100%;
    display:table-cell;
    text-align:center;
     vertical-align:middle;
      }
  最後一種就是利用盒子的怪異盒模型了
    <div id="box">
    <img src="img/map-pin.png" >
    </div>
      html,body{
      height: 100%;
      overflow:hidden;
       }
     #box{
      width:100%;
      height:100%;
      display:-webkit-box;
      -webkit-box-align:center;
      -webkit-box-pack:center;
      }
這就是我對元素水平居中的理解,你們學會了嗎?
 

模態框中水平垂直居的問題