溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

CSS實(shí)現(xiàn)居中的方法有哪些

發(fā)布時(shí)間:2021-01-14 15:02:47 來(lái)源:億速云 閱讀:137 作者:小新 欄目:web開(kāi)發(fā)

小編給大家分享一下CSS實(shí)現(xiàn)居中的方法有哪些,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

水平居中

內(nèi)聯(lián)元素

要使內(nèi)聯(lián)元素(如鏈接,spanimg)居中,使用 text-align: center 足夠了。

<div class="desk">
   <span class="plate"></span>
</div>
.desk {
  text-align: center;
}

對(duì)于多個(gè)內(nèi)聯(lián)元素,也可以使用text-align:center:

<div class="desk">
   <span class="plate"></span>
   <span class="plate"></span>
</div>
.desk {
  text-align: center;
}
Flexbox

使用 flexbox 也可以快速居中元素:

.desk {
  display: flex;
  justify-content: center;
}

對(duì)于多個(gè)內(nèi)聯(lián)的項(xiàng)目,也可以正常工作:

CSS Grid

使用網(wǎng)格容器時(shí),圖中的盤(pán)子將根據(jù)其網(wǎng)格區(qū)域居中。 請(qǐng)注意,除非將它們包裹在一個(gè)元素中,否則這將不適用于多個(gè)盤(pán)子。

.desk {
  display: grid;
  justify-content: center;
}

CSS實(shí)現(xiàn)居中的方法有哪些

塊元素

Auto Margin

寬度和高度已知的塊元素可以通過(guò)設(shè)置margin-left:automargin-right:auto 居中元素。

.plate {
  width: 120px;
  height: 120px;
  margin-left: auto;
  margin-right: auto;
}

CSS實(shí)現(xiàn)居中的方法有哪些

對(duì)于多個(gè)塊元素,它們應(yīng)該包裝在一個(gè)元素中,然后讓這個(gè)父元素居中。

.tray {
  display: flex;
  margin-left: auto;
  margin-right: auto;
}

CSS實(shí)現(xiàn)居中的方法有哪些

Flexbox

對(duì)于 flexbox 同樣也是使用   justify-content:center 來(lái)居中元素:

.desk {
  display: flex;
  justify-content: center;
}

CSS實(shí)現(xiàn)居中的方法有哪些

對(duì)于多個(gè)元素,我們不需要將它們包裹在一個(gè)元素中,flexbox 可以將它們都居中。

CSS定位

通過(guò)絕對(duì)定位,我們可以輕松地通過(guò)CSS transform將其水平居中。

.plate {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

CSS實(shí)現(xiàn)居中的方法有哪些

在已知元素寬度的情況下,可以使用負(fù)邊距代替CSS transform。

.plate {
  position: absolute;
  left: 50%;
  margin-left: -60px;
}

垂直居中

內(nèi)聯(lián)元素

Vertical Padding

垂直居中元素最簡(jiǎn)單的方法之一是使用padding:

  padding-top: 24px;
  padding-bottom: 24px;
}

CSS實(shí)現(xiàn)居中的方法有哪些

Vertical Align

vertical-align屬性可用于一個(gè)或多個(gè)元素。

在此示例中,叉子和刀子應(yīng)與桌子垂直居中。

.desk {
  text-align: center;
}

.plate,
.fork,
.knife {
  vertical-align: middle;
}
Flexbox

為了對(duì)齊盤(pán)子,叉子和刀,我們可以使用 flexbox:

.desk {
  display: flex;
  justify-content: center;
  align-items: center;
}

CSS實(shí)現(xiàn)居中的方法有哪些

塊元素

絕對(duì)定位

通過(guò)絕對(duì)定位元素,可以使用 CSS transform將元素垂直居中:

.plate {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

CSS實(shí)現(xiàn)居中的方法有哪些

如果知道元素高度,則可以使用負(fù)邊距代替transform。

.plate {
  position: absolute;
  top: 50%;
  margin-top: -60px;
}
CSS Grid

使用CSS網(wǎng)格,我們可以使用align-items將項(xiàng)目垂直于其網(wǎng)格區(qū)域居中。

.desk {
  display: grid;
  align-items: center;
}

CSS實(shí)現(xiàn)居中的方法有哪些

水平垂直居中

內(nèi)聯(lián)元素

Padding 和Text Align
.plate {
  text-align: center;
  padding-top: 24px;
  padding-bottom: 24px;
}

其他元素類(lèi)型

絕對(duì)定位
.plate {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
}

CSS實(shí)現(xiàn)居中的方法有哪些

Flexbox

通過(guò) justify-content:centeralign-items:center 就可以將元素垂直水平居中:

.plate {
  display: flex;
  justify-content: center;
  align-items: center;
}

CSS Grid

通過(guò)place-items屬性就可以通過(guò),它結(jié)合了justify-contentalign-items:

.desk {
  display: grid;
  place-items: center;
}

看完了這篇文章,相信你對(duì)“CSS實(shí)現(xiàn)居中的方法有哪些”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI