整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          設置元素水平、垂直居中的兩種方式

          設置元素水平、垂直居中的兩種方式

          一個水平和垂直居中的模態彈框這么一個小需求,對于我們這些前端來說,應該是常事。

          在css3出來以前,我們要想讓元素既水平居中又要垂直居中只有一個辦法(我能想到的),就是通過js計算,把它們定位到屏幕中間位置。這方法比較笨,也麻煩。

          推薦下我的前端群:524262608,不管你是小白還是大牛,小編我都挺歡迎,不定期分享干貨,包括我自己整理的一份最新的前端資料和零基礎入門教程,歡迎初學和進階中的小伙伴。

          下面兩種方式,可以讓元素快速定位到屏幕中間。 

          flex布局

          1 <style> 
          2 .flex-mask { 
          3 display: flex; 
          4 position: fixed; 
          5 z-index: 1; 
          6 top: 0; 
          7 left: 0; 
          8 bottom: 0; 
          9 right: 0;
          10 align-items: center;  // 垂直居中
          11 justify-content: center;  // 水平居中
          12 background: rgba(0,0,0,.5);
          13 }
          14 .flex-box {
          15 width: 500px;
          16 height: 300px;
          17 background-color: #fff;
          18 border-radius: 10px;
          19 }
          20 </style>
          21 
          22 <!-- 元素 -->
          23 <div class="flex-mask">
          24 <div class="flex-box"></div>
          25 </div>

          使用translate

          SS居中是前端工程師經常要面對的問題,也是基本技能之一。

          CSS中的居中可分為水平居中和垂直居中。水平居中分為行內元素居中和塊狀元素居中兩種情況,而塊狀元素又分為定寬塊狀元素居中和不定寬塊狀元素居中。

          今天,我們就和大家分享一些居中的常用方法。

          把margin設為auto

          具體來說就是把要居中的元素的margin-left和margin-right都設為auto,此方法只能進行水平的居中,且對浮動元素或絕對定位元素無效。

          使用line-height讓單行文字垂直居中

          把文字的line-height設為文字父容器的高度,適用于只有一行文字的情況。

          使用display:table-cell

          對于那些個不是表格的元素,我們可以通過display:table-cell 來把它模擬成一個表格單元格,然后結合text-align:center;vertical-align:middle;來使元素居中。

          利用css3的translate實現居中

          css3里的移動屬性也能實現元素的水平居中對齊。但是,一樣注意的是只支持高版本瀏覽器。IE8及以下版本想都別想了。

          彈性盒子實現垂直水平居中

          彈性盒子也是css3新增的樣式,完全解決了垂直布局難的問題。需要注意的是 :一樣要考慮瀏覽器的兼容性。

          使用表格

          如果你使用的是表格的話,那完全不用為各種居中問題而煩惱了,只要用到 td(也可能會用到 th)元素的 align=”center” 以及 valign=”middle” 這兩個屬性就可以完美的處理它里面內容的水平和垂直居中問題了,而且表格默認的就會對它里面的內容進行垂直居中。

          如果想在css中控制表格內容的居中,垂直居中可以使用 vertical-align:middle,至于水平居中,貌似css中是沒有相對應的屬性的,但是在IE6、7中我們可以使用text-align:center來對表格里的元素進行水平居中,IE8+以及谷歌、火狐等瀏覽器的text-align:center只對行內元素起作用,對塊狀元素無效。

          使用絕對定位來進行居中

          此法只適用于那些我們已經知道它們的寬度或高度的元素。

          絕對定位進行居中的原理是通過把這個絕對定位元素的left或top的屬性設為50%,這個時候元素并不是居中的,而是比居中的位置向右或向左偏了這個元素寬度或高度的一半的距離,所以需要使用一個負的margin-left或margin-top的值來把它拉回到居中的位置,這個負的margin值就取元素寬度或高度的一半。

          如果只想實現一個方向的居中,則可以只使用left , margin-left 來實現水平居中,使用top , margin-top來實現垂直居中。

          終極定位元素居中

          通過讓內部定位的盒子left,right,top,bottom四個值同時為0,然后讓margin的四個值自動平分空間,實現元素的垂直水平都居中對齊。一樣要注意IE7及以下低版本瀏覽器的不配合問題。

          以上所述是小編給大家介紹的CSS實現居中的幾種方法,希望對大家有所幫助。

          老板的手機收到一個紅包,為什么紅包沒居中?


          如何讓一個子元素在父容器里水平垂直居中?這個問題必考,在實戰開發中,也應用得非常多。

          你也許能順手寫出好幾種實現方法。但大部分人的寫法不夠規范,經不起千錘百煉。換句話說:這些人也就面試的時候夸夸其談,但真的上戰場的時候,他們不敢這么寫,也不知道怎么寫最靠譜。

          這篇文章中,我們來列出幾種常見的寫法,最終你會明白,哪種寫法是最優雅的。

          當然,我還會拿出實際應用中的真實場景來舉例,讓你感受一下標準垂直居中的魅力


          主站蜘蛛池模板: 国精无码欧精品亚洲一区| 人妻久久久一区二区三区| 手机看片一区二区| 人妻av无码一区二区三区| 日韩人妻无码一区二区三区99| 亚洲AV无码国产精品永久一区 | 精品无码一区二区三区爱欲九九| 老熟女高潮一区二区三区| 欧洲亚洲综合一区二区三区| 国产高清在线精品一区二区三区| 日本一区二区在线| 偷拍精品视频一区二区三区| 精品人妻中文av一区二区三区| 精品一区二区三区在线播放| 午夜福利一区二区三区在线观看| 精品在线一区二区| 日本人的色道www免费一区| 日韩精品一区二区三区中文| 精品国产AⅤ一区二区三区4区 | 国产一区二区久久久| 成人国内精品久久久久一区 | 视频一区视频二区在线观看| 99热门精品一区二区三区无码| 久久亚洲国产精品一区二区| 亚洲一区二区视频在线观看| 美女免费视频一区二区三区| 人妻精品无码一区二区三区| 精品一区精品二区制服| 亚洲一区在线免费观看| 亚洲午夜在线一区| 无码av人妻一区二区三区四区| 奇米精品视频一区二区三区| 日产精品久久久一区二区| 久久久综合亚洲色一区二区三区 | 精品国产一区在线观看| 国模精品一区二区三区视频| 中文字幕无线码一区2020青青| 在线观看日本亚洲一区| 无码人妻一区二区三区av| 日韩三级一区二区| 一区二区不卡视频在线观看|