CSS的垂直居中和水平居中總結

內聯元素居中方案

水平居中設置:

行內元素 設置text-align:center;
Flex布局 設置display:flex; justify-content:center;(靈活運用)

垂直居中設置:

父元素高度確定的單行文本(內聯元素) 設置 height = line-height;
父元素高度確定的多行文本(內聯元素) a:插入 table(插入方法和水平居中一樣),然后設置vertical-align:middle;b:先設置display:table-cell 再設置 vertical-align:middle;

塊級元素居中方案

水平居中設置:

定寬塊狀元素 設置margin:0 auto;
不定寬塊狀元素 a:在元素外加入table 標簽(完整的,包括table、tbody、tr、td),該元素寫在td內,然后設置 margin:0 auto; b:給該元素設置 display:inine方法; c:父元素設置 position:relativeleft:50%,子元素設置 position:relativeleft:50%;

垂直居中設置:

1.使用position:absolute(fixed),設置left、top、margin-left、margin-top的屬性;

.box{ position:absolute;/*或fixed*/
      top:50%;
      left:50%;
      margin-top:-100px;
      margin-left:-200px;
    }

2.利用position:fixed(absolute)屬性,margin:auto這個必須不要忘記了;

.box{ position: absolute;/*或fixed*/
      top:0;
      right:0;
      bottom:0;
      left:0;
      margin: auto;
    }

3.利用display:table-cell屬性使內容垂直居中;

.box{ display:table-cell;
      vertical-align:middle;
      text-align:center;
      width:120px;
      height:120px;
      background:purple;
    }

4.使用css3的新屬性transform:translate(x,y)屬性;

.box{ position: absolute;
      transform: translate(50%,50%);
      -webkit-transform:translate(50%,50%);
      -moz-transform:translate(50%,50%);
      -ms-transform:translate(50%,50%);
    }

5.最高大上的一種,使用:before元素;

.box{ position:fixed;
      display:block;
      background:rgba(0,0,0,.5);
    }
.box:before{ content:'';
             display:inline-block;
             vertical-align:middle;
             height:100%;
           }
.box.content{ width:60px;
              height:60px;
              line-height:60px;
              color:red;
            }

6.Flex布局;

.box{ display: -webkit-box;
      display: -webkit-flex;
      display: -moz-box;
      display: -moz-flex;
      display: -ms-flexbox;
      display: flex; 
水平居中
      -webkit-box-align: center;
      -moz-box-align: center;
      -ms-flex-pack:center;
      -webkit-justify-content: center;
      -moz-justify-content: center;
      justify-content: center;
 垂直居中
      -webkit-box-pack: center;
      -moz-box-pack: center;
      -ms-flex-align:center;
      -webkit-align-items: center;
      -moz-align-items: center;
      align-items: center;
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,796評論 1 92
  • 收聽音頻,戳鏈接,舊號itclan已暫停使用,歡迎關注微信itclanCoder公眾號可收聽更多音頻 前言 關于網...
    itclanCoder閱讀 8,214評論 3 30
  • 移動開發基本知識點 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,514評論 0 6
  • H5移動端知識點總結 閱讀目錄 移動開發基本知識點 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,625評論 0 26
  • 冷月高懸。也許是太過寒冷,讓我感覺月亮灑下的光也是冷的。 我雙手揣在衣兜里,蓋上帽子,漫無目的地行走在校園的田徑場...
    離騷閱讀 341評論 0 2