整合營(yíng)銷服務(wù)商

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

          免費(fèi)咨詢熱線:

          css中4種方法使內(nèi)容居中

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

          如下代碼:

          html:

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

          css:

          中,是我們編碼過(guò)程中最常見(jiàn)的,那么,我們平時(shí)常見(jiàn)的居中方式,下面一一羅列出來(lái),有錯(cuò)誤的地方,望碼友多多包涵并加以矯正。

          水平居中

          1、多塊級(jí)元素,設(shè)置display:inline-block;使之在一行排列,在父級(jí)樣式里,設(shè)置text-align:center;就可以實(shí)現(xiàn)水平居中的效果

          body {

          text-align: center;

          }

          div{

          width: 100px;

          height: 100px;

          border: 1px solid;

          display: inline-block;

          }

          2、內(nèi)聯(lián)元素,利用text-align:center;可以實(shí)現(xiàn)塊級(jí)元素內(nèi)部的內(nèi)聯(lián)元素的水平居中

          div {

          border: 1px solid red;

          width: 100px;

          height: 100px;

          text-align: center;

          }

          <div>

          <span>塊級(jí)元素中的行內(nèi)元素的水平居中</span>

          </div>

          3、塊級(jí)元素,通過(guò)把固定寬高的塊級(jí)元素的margin-left和margin-right設(shè)置為auto,方可實(shí)現(xiàn)

          div{

          width: 100px;

          height: 100px;

          border: 1px solid;

          margin: 0 auto;

          }

          <div></div>

          4、利用彈性盒子(display: flex;)

          給父級(jí)定寬定高,然后設(shè)置display: flex;以及justify-content: center;方可達(dá)到水平居中效果

          body {

          width: 500px;

          height: 500px;

          display: flex;

          justify-content: center;

          border: 1px solid red;

          }

          div {

          width: 100px;

          height: 100px;

          border: 1px solid;

          }

          <body>

          <div></div>

          </body>

          垂直居中

          1、內(nèi)聯(lián)元素(單行)

          通過(guò)設(shè)置元素的height和line-height,方可達(dá)到居中效果

          2、多行元素,利用表布局(table)

          通過(guò)給想要居中的元素的父級(jí)設(shè)置display: talbe-cell;以及vertical-align:enter;方可居中

          3、彈性盒子(flex)

          給父級(jí)設(shè)置display: flex;變成彈性盒子。

          分兩種,

          (1),主軸方向?yàn)樗剑苯釉O(shè)置 align-items: center;

          (2),主軸方向?yàn)榇怪保O(shè)置flex-direction: column;改變主軸方向,然后設(shè)置justify-content: center;

          彈性盒模型主軸不同,居中的方式也不同,靈活應(yīng)用。

          4、固定寬高的塊級(jí)元素

          利用父相子絕的定位原理,實(shí)現(xiàn)垂直居中

          position: absolute;

          left: 50%;

          top: 50%;

          margin-left: (自身高度的一半);

          5,未知寬高的塊級(jí)元素

          利用transform: translateY(-50%);方可實(shí)現(xiàn)

          position: absolute;

          top: 50%;

          transform: translateY(-50%);

          水平垂直方向的居中

          1、固定寬高

          通過(guò)margin平移整體寬高的一半,實(shí)現(xiàn)水平垂直居中

          {

          position: absolute;

          width: 100px;

          height: 100px;

          border: 1px solid;

          left: 50%;

          top: 50%;

          margin-top: -50px;

          margin-left: -50px;

          }

          2、未知寬高

          利用transform中的translate()屬性實(shí)現(xiàn)

          {

          position: absolute;

          border: 1px solid;

          left: 50%;

          top: 50%;

          transform: translateY(-50%);

          transform: translateX(-50%);

          }

          3、彈性盒子(flex)

          通過(guò)display:flex,把父級(jí)變成彈性盒模型,利用align-items: center;justify-content: center;方可實(shí)現(xiàn)居中。

          注意:彈性盒子容器中,多行項(xiàng)目的居中方式另加計(jì)算。

          body {

          border: 1px solid;

          width: 300px;

          height: 300px;

          position: relative;

          display: flex;

          align-items: center;

          justify-content: center;

          }

          div {

          border: 1px solid;

          width: 100px;

          height: 100px;

          }

          隨著學(xué)習(xí)的不斷深入,居中方式可以有很多種,我們要善于利用,更加明確什么情況下用怎樣的居中方式。

          內(nèi)容首發(fā)于工粽號(hào):程序員大澈,每日分享一段優(yōu)質(zhì)代碼片段,歡迎關(guān)注和投稿!

          大家好,我是大澈!

          本文約 500+ 字,整篇閱讀約需 1 分鐘。

          今天分享一段優(yōu)質(zhì) CSS 代碼片段,可以輕松實(shí)現(xiàn)元素垂直水平居中對(duì)齊。

          老規(guī)矩,先閱讀代碼片段并思考,再看代碼解析再思考,最后評(píng)論區(qū)留下你的見(jiàn)解!

          div {
            display: grid;
            place-content: center;
          }


          分享原因

          這段代碼展示了如何使用 CSS Grid 布局以及 place-content 屬性來(lái)居中對(duì)齊元素。

          CSS Grid 是一種強(qiáng)大的布局工具,提供了簡(jiǎn)單且靈活的方式來(lái)實(shí)現(xiàn)復(fù)雜的布局,而place-content 屬性進(jìn)一步簡(jiǎn)化了居中對(duì)齊的實(shí)現(xiàn)。

          相較于 Flex 布局,Grid 布局僅僅只需一行代碼即可搞定居中對(duì)齊!

          代碼解析

          1. display: grid;

          設(shè)置元素為網(wǎng)格容器。

          網(wǎng)格容器可以通過(guò)定義網(wǎng)格行和列來(lái)布置其子元素。

          2. place-content: center;

          place-content 是 align-content 和 justify-content 的組合屬性。

          center 值表示內(nèi)容在容器的中央對(duì)齊。

          3. 兼容性

          place-content: center; 的兼容性在現(xiàn)代瀏覽器中較好,某一些舊版瀏覽器的不兼容完全可以忽略了。

          以下是一些常見(jiàn)瀏覽器的具體支持情況:


          主站蜘蛛池模板: 色一情一乱一伦一区二区三区 | 91在线一区二区三区| 亚洲午夜精品第一区二区8050| 亚洲AV日韩AV天堂一区二区三区| 国产精品视频免费一区二区| 国产美女精品一区二区三区| 国产av夜夜欢一区二区三区| 精品国产鲁一鲁一区二区 | 亚洲无圣光一区二区| 国产一区二区三区高清在线观看 | 成人日韩熟女高清视频一区| 制服美女视频一区| 日美欧韩一区二去三区| 亚洲中文字幕一区精品自拍| 日韩爆乳一区二区无码| 成人区精品人妻一区二区不卡 | 日本一区二区视频| 精品国产乱子伦一区二区三区 | 青娱乐国产官网极品一区| 午夜视频在线观看一区| 国语对白一区二区三区| 国产乱码精品一区二区三区香蕉| 亚洲av成人一区二区三区| 性色av一区二区三区夜夜嗨| 亚洲AV无码一区二区二三区软件 | 亚洲AV成人精品日韩一区18p| 白丝爆浆18禁一区二区三区| 国产日韩精品一区二区在线观看| 在线视频一区二区三区四区| 国产精品无码一区二区在线观| 午夜AV内射一区二区三区红桃视| 日韩一区二区在线视频| 少妇一夜三次一区二区| 国产成人精品一区二三区| 国产成人一区二区三区免费视频 | 亚洲AV无码一区二区二三区入口| 亚洲一区二区三区影院 | 无码国产精品一区二区免费16| 人妻无码一区二区不卡无码av| 中文字幕一区二区精品区| 亚洲日韩国产一区二区三区在线|