整合營銷服務(wù)商

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

          免費咨詢熱線:

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

          如下代碼:

          html:

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

          css:

          中,是我們編碼過程中最常見的,那么,我們平時常見的居中方式,下面一一羅列出來,有錯誤的地方,望碼友多多包涵并加以矯正。

          水平居中

          1、多塊級元素,設(shè)置display:inline-block;使之在一行排列,在父級樣式里,設(shè)置text-align:center;就可以實現(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;可以實現(xiàn)塊級元素內(nèi)部的內(nèi)聯(lián)元素的水平居中

          div {

          border: 1px solid red;

          width: 100px;

          height: 100px;

          text-align: center;

          }

          <div>

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

          </div>

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

          div{

          width: 100px;

          height: 100px;

          border: 1px solid;

          margin: 0 auto;

          }

          <div></div>

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

          給父級定寬定高,然后設(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)元素(單行)

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

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

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

          3、彈性盒子(flex)

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

          分兩種,

          (1),主軸方向為水平,直接設(shè)置 align-items: center;

          (2),主軸方向為垂直,設(shè)置flex-direction: column;改變主軸方向,然后設(shè)置justify-content: center;

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

          4、固定寬高的塊級元素

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

          position: absolute;

          left: 50%;

          top: 50%;

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

          5,未知寬高的塊級元素

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

          position: absolute;

          top: 50%;

          transform: translateY(-50%);

          水平垂直方向的居中

          1、固定寬高

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

          {

          position: absolute;

          width: 100px;

          height: 100px;

          border: 1px solid;

          left: 50%;

          top: 50%;

          margin-top: -50px;

          margin-left: -50px;

          }

          2、未知寬高

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

          {

          position: absolute;

          border: 1px solid;

          left: 50%;

          top: 50%;

          transform: translateY(-50%);

          transform: translateX(-50%);

          }

          3、彈性盒子(flex)

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

          注意:彈性盒子容器中,多行項目的居中方式另加計算。

          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ā)于工粽號:程序員大澈,每日分享一段優(yōu)質(zhì)代碼片段,歡迎關(guān)注和投稿!

          大家好,我是大澈!

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

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

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

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


          分享原因

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

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

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

          代碼解析

          1. display: grid;

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

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

          2. place-content: center;

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

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

          3. 兼容性

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

          以下是一些常見瀏覽器的具體支持情況:


          主站蜘蛛池模板: 春暖花开亚洲性无区一区二区| 久久无码人妻精品一区二区三区| 无码AV一区二区三区无码| 夜夜精品无码一区二区三区| 色噜噜狠狠一区二区三区果冻| 一区二区三区四区在线视频| 一区二区三区视频观看| 亚洲丶国产丶欧美一区二区三区| 国产在线精品一区二区高清不卡 | 高清在线一区二区| 97精品一区二区视频在线观看| 成人一区专区在线观看| 亚洲综合av永久无码精品一区二区| 国产无线乱码一区二三区| 一区二区高清在线| 红桃AV一区二区三区在线无码AV| 午夜AV内射一区二区三区红桃视 | 亚洲日本一区二区| 久久久久久一区国产精品| 中文字幕Av一区乱码| 国模丽丽啪啪一区二区| 亚洲AV无码一区二区乱子伦| 无码日韩人妻av一区免费| 精品一区二区久久久久久久网精 | 久久久久人妻一区二区三区vr | 精品国产免费一区二区| 日韩在线视频一区| 色狠狠AV一区二区三区| 亚洲日韩国产欧美一区二区三区| 日本免费一区二区三区四区五六区 | 亚洲国产精品一区二区成人片国内 | 色老头在线一区二区三区| 午夜福利无码一区二区| 亚洲国模精品一区| 中文字幕精品无码一区二区| 一区二区三区无码高清| 少妇无码一区二区二三区| 久久精品国产一区二区三区| 国产一区二区精品在线观看| 国产福利一区二区精品秒拍| 无码一区二区三区视频|