整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          css動畫-未知寬高盒子居中方法

          css動畫-未知寬高盒子居中方法

          知寬高盒子居中方法

          相信很多人都知道怎樣讓一個已知寬高的盒子在瀏覽器水平和垂直都居中,那么如何讓一個未知寬高的盒子水平和垂直都居中呢?

          設(shè)置已知寬高的盒子水平和垂直都居中的方式,只需要設(shè)置盒子絕對定位的坐標是50%,然后再通過margin給負的一半寬度和高度即可實現(xiàn)。

          代碼如下:

          <!doctype html>

          <html>

          <head>

          <meta charset="utf-8">

          <title>水平和垂直居中方式</title>

          <style>

          .box{width:400px; height:200px; background:pink;}

          .box{

          position:absolute;

          left: 50%;

          top: 50%;

          margin-left: -200px;

          margin-top: -100px;

          }

          </style>

          </head>

          <body>

          <div class="box">已知寬高的盒子水平和垂直居中</div>

          </body>

          </html>

          現(xiàn)在來看看如何讓一個未知寬高的盒子在瀏覽器水平和垂直都居中,先來了解下css3轉(zhuǎn)換模塊的transform:translate(x,y);位移屬性。

          觀察以下代碼,第一個盒子為位移盒子的參照物,第二第三個盒子分別設(shè)置了位移的水平方向為不同的百分比的值。

          <!doctype html>

          <html>

          <head>

          <meta charset="utf-8">

          <title>盒子水平垂直居中方法</title>

          <style>

          *{padding: 0; margin: 0; list-style: none;}

          .sport{width: 400px; line-height: 30px; background:#f10180; color:#fff; margin-left: 500px;}

          .canzhao{background:blue; transform:translate(0,0);}

          .weiyi01{ transform:translate(-50%,0);}

          .weiyi02{ transform:translate(-100%,0); background:purple;}

          </style>

          </head>

          <body>

          <div class="sport canzhao">寬度400px盒 transform:translate(0,0);</div>

          <div class="sport weiyi01">寬度400px盒 transform:translate(-50%,0);</div>

          <div class="sport weiyi02">寬度400px盒 transform:translate(-100%,0);</div>

          </body>

          </html>

          顯示效果如圖:

          通過上面代碼和效果,可以得到一個結(jié)論:transform:translate(x,y); 如果 x 和 y 的值是百分比,則位移距離的參照物是自身元素的寬度和高度。

          那么通過上面的結(jié)論,就可以讓一個未知寬高的盒子實現(xiàn)水平和垂直都居中了,設(shè)置元素絕對定位和定位坐標值為50%后,只需要設(shè)置盒子水平和垂直方向位移的值都是-50%即可。

          代碼如下:

          <!doctype html>

          <html>

          <head>

          <meta charset="utf-8">

          <title>盒子水平垂直居中方法</title>

          <style>

          *{padding: 0; margin: 0; list-style: none;}

          .box01{width: 200px; height: 200px; background:blue; color:#fff;

          position:absolute;

          left: 50%; top: 50%;

          margin-left: -100px;

          margin-top: -100px;

          }

          .box02{background:#f10180; color:#fff; font-size:30px; padding: 20px;

          position:absolute;

          left: 50%;

          top: 50%;

          transform:translate(-50%,-50%);

          }

          </style>

          </head>

          <body>

          <div class="box01">已知知寬高的小水平垂直都居中盒子</div>

          <div class="box02">未知寬高的小盒子水平垂直都居中</div>

          </body>

          </html>

          效果對比如圖:

          需要注意的問題是現(xiàn)在css3屬性在低版本瀏覽器是存在兼容性為問題的,如果是一些移動端項目或者是一些不要求兼容低版本瀏覽器的項目可以使用此方法對盒子進行居中。

          皮皮蝦,我們走——bbs.520it.com

          lexbox

          通常首選方法是使用flexbox居中內(nèi)容。只需三行代碼即可:display:flex,然后使用 align-items:center justify-content:center 將子元素垂直和水平居中。

          如下代碼:

          html:

          <div class="flexbox-centering">
            <div>Centered content.</div>
          </div>

          css:

          .flexbox-centering {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100px;
          }

          Grid

          使用grid(網(wǎng)格)與flexbox非常相似,也是一種常見的技術(shù),尤其是布局中已經(jīng)使用網(wǎng)格的情況下。與前一種flexbox技術(shù)的唯一區(qū)別是它顯示為柵格。

          如下代碼:

          html:

          <div class="grid-centering">
            <div class="child">Centered content.</div>
          </div>

          css:

          、盒子里的字,默認是位于盒子內(nèi)的左上角,如何讓它水平居中,垂直居中呢。

          1. text-align: center;/* 這是讓內(nèi)容水平居中 */
          2. line-height: 200px; /* 這是讓內(nèi)容垂直居中,只要把行高設(shè)置得和盒子的高度一樣 */

          圖1

          圖2

          以下是我在vscode下做的代碼:

          圖3


          主站蜘蛛池模板: 精品福利一区二区三| 国产vr一区二区在线观看| 日本一区二区在线不卡| 久久久久久人妻一区二区三区 | 精品人妻中文av一区二区三区 | 99无码人妻一区二区三区免费 | 黑人一区二区三区中文字幕| 日本精品少妇一区二区三区| 国产午夜精品一区二区三区嫩草| 中文字幕无线码一区| 亚洲第一区视频在线观看| 女同一区二区在线观看| 无码人妻精品一区二| 无码精品一区二区三区免费视频| 中文字幕无线码一区二区| 视频一区二区三区人妻系列| 日本欧洲视频一区| 国产肥熟女视频一区二区三区| 色噜噜AV亚洲色一区二区| 精品国产一区二区三区四区| 小泽玛丽无码视频一区| 亚洲天堂一区二区三区四区| 国产精品一区二区久久沈樵| 久久久综合亚洲色一区二区三区 | 亚洲日韩精品一区二区三区| 精品福利视频一区二区三区 | 久久国产精品亚洲一区二区| 精品一区二区久久久久久久网精| 中文国产成人精品久久一区| 亚洲色无码专区一区| 国产无套精品一区二区| 国产成人精品亚洲一区| 无码人妻精品一区二区在线视频 | 三上悠亚国产精品一区| 日韩人妻无码一区二区三区99 | 国产精品美女一区二区三区| 亚洲日本中文字幕一区二区三区| 亚洲色欲一区二区三区在线观看| 无码精品视频一区二区三区 | 国产美女在线一区二区三区| 九九无码人妻一区二区三区|