自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

前端開(kāi)發(fā)中的各種居中問(wèn)題,小小總結(jié)一下

開(kāi)發(fā) 前端
今天是周末,恰好剛剛又參與一些涉及前端開(kāi)發(fā)的項(xiàng)目,所以我們今天找到其中一個(gè)關(guān)于頁(yè)面居中的點(diǎn),來(lái)跟大家聊一聊。

因?yàn)楣ぷ髟?,我們先前發(fā)過(guò)許多 Linux 相關(guān)的文章。今天是周末,恰好剛剛又參與一些涉及前端開(kāi)發(fā)的項(xiàng)目,所以我們今天找到其中一個(gè)關(guān)于頁(yè)面居中的點(diǎn),來(lái)跟大家聊一聊。

關(guān)于這個(gè)問(wèn)題,在許多前端大佬看來(lái)是很簡(jiǎn)單的事情,況且現(xiàn)在還有這么多成熟的框架可用。但是我們本著修煉技術(shù)的原則,所以不考慮用框架,只是原始的 css + js 來(lái)實(shí)現(xiàn)。

1,水平居中

行內(nèi)元素

行內(nèi)元素(比如文字,span,圖片等)的水平居中比較簡(jiǎn)單,在其父元素中設(shè)置 text-align 為 center 即可:

text-align: center;

塊級(jí)元素

塊級(jí)元素,比如 div,其默認(rèn)寬度是100%,無(wú)所謂居中對(duì)齊。但是給定一個(gè)其他寬度的時(shí)候,比如多少像素,或者多少百分比,那就會(huì)有居中對(duì)齊的需求。這種情況下,可以利用左右 margin 來(lái)設(shè)置其水平居中對(duì)齊,如下:

.div-class {
width: 50%;
margin: 0 auto;
}


除了上述方式,還有一種方法可以實(shí)現(xiàn)居中對(duì)齊,那就是使用絕對(duì)定位,但是我們將它放在后面說(shuō),因?yàn)樗粌H僅可以實(shí)現(xiàn)水平居中,也可以實(shí)現(xiàn)垂直居中。

2,垂直居中

對(duì)于單行文字居中,可以設(shè)置父元素的行高來(lái)實(shí)現(xiàn),將其行高與元素高度設(shè)置為相同的值即可:?

.font-ct {
height: 40px;
line-height: 40px;
}


對(duì)于多行文字,可設(shè)置如下 css(也適用于單行文字):?

.font-ct {
height: 100px;
display:table-cell;
vertical-align:middle;
}


上述 css 代碼對(duì)于行內(nèi)元素也同樣適用。

另外,對(duì)于圖片的居中對(duì)齊,一般情況使用上述代碼就可以,但是因?yàn)闉g覽器的兼容問(wèn)題,在有些時(shí)候,td 中的圖片無(wú)法垂直居中,此時(shí)給 img 標(biāo)簽加上 align 屬性,應(yīng)該就可以:

<img align="absmiddle" src="">

塊元素的垂直居中,一般情況下,塊元素及其父標(biāo)簽元素高度都是給定的,所以可以事先計(jì)算出塊元素距離頂部的高度,設(shè)置 margin-top 屬性。這種方式是不太靈活,但應(yīng)該會(huì)滿足絕大多數(shù)的頁(yè)面布局需求。如果高度不定,那么可參考下面一章節(jié)。

3,水平垂直居中

水平垂直均需要居中,有一個(gè)常見(jiàn)的場(chǎng)景:比如一個(gè)彈出框,其寬度、高度均不是固定的,那么這個(gè)時(shí)候,可以使用終極武器:絕對(duì)定位。

對(duì)于絕對(duì)定位,任何時(shí)候都可以使用,主要看是不是方便。對(duì)于單一元素的布局,且在尺寸不固定的情況下,使用絕對(duì)定位是很方便的。

假如我們有如下兩個(gè)元素,.ct 為父元素,其中有一個(gè) class 為 div 的 div 元素:?

<div class="ct">
<div class="div"></div>
</div>

圖片


首先我們?yōu)槠湓O(shè)置定位,如下:?

.ct {
position: relative;
}
.div {
position: absolute;
}


對(duì)于如何讓 .div 居中,如果 .div 的尺寸是固定的,那么大可以設(shè)置其 left 和 top 值。但很不幸的是,其尺寸不固定,那么我們需要用到另外一個(gè) css 屬性:transform。

首先,設(shè)置 .div 的位置:?

left: 50%;
top: 50%;

圖片


然后在使用 transform 屬性,讓 .div 在水平和垂直方向各做 50% 的偏移量

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

完整代碼如下:?

.div {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
}


如此,即可實(shí)現(xiàn) .div 位置居中。

圖片

以上就是本次分享全部?jī)?nèi)容。

責(zé)任編輯:龐桂玉 來(lái)源: TIAP
相關(guān)推薦

2023-07-05 08:45:18

Spring事務(wù)失效場(chǎng)景

2022-02-24 17:37:47

低代碼拖拽前端

2020-12-02 06:02:35

Python

2021-05-31 06:00:55

Python 3.4枚舉開(kāi)發(fā)

2023-04-14 07:34:19

2018-01-17 17:02:08

運(yùn)維工程師面試經(jīng)歷試題

2012-04-08 14:09:50

小米

2023-10-08 07:37:44

SQL連接

2010-12-06 09:10:02

LightSwitch

2009-07-24 13:11:52

敏捷開(kāi)發(fā)

2012-07-22 15:49:25

Java

2009-12-03 15:13:51

PHP開(kāi)發(fā)中問(wèn)題

2013-02-26 10:11:36

前端開(kāi)發(fā)Web

2011-07-15 10:44:58

電子配線架

2021-06-29 19:27:53

JAVA方法接口

2020-07-30 08:27:33

Javascript閉包變量

2020-06-23 08:28:26

前端開(kāi)發(fā)技巧

2019-06-24 09:57:39

網(wǎng)絡(luò)工具調(diào)試

2021-11-02 14:54:41

Go結(jié)構(gòu)體標(biāo)簽

2021-06-21 07:49:15

Css前端 h5 開(kāi)發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)