新聞中心
[[409479]]
本文轉(zhuǎn)載自微信公眾號「三分鐘學(xué)前端」,作者sisterAn。轉(zhuǎn)載本文請聯(lián)系三分鐘學(xué)前端公眾號。

右江網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,右江網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為右江超過千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的右江做網(wǎng)站的公司定做!
positon
定義和用法:position 屬性規(guī)定元素的定位類型。
說明:這個屬性定義建立元素布局所用的 定位機制 。任何元素都可以定位,不過絕對或固定元素會生成一個塊級框,而不論該元素本身是什么類型。相對定位元素會相對于它在正常流中的默認位置偏移。
—— 來自 w3school
position 有以下可選值:
| 值 | 描述 |
|---|---|
| absolute | 生成絕對定位的元素,相對于 static 定位以外的第一個父元素進行定位。元素的位置通過 "left", "top", "right" 以及 "bottom" 屬性進行規(guī)定。 |
| fixed | 生成絕對定位的元素,相對于瀏覽器窗口進行定位。元素的位置通過 "left", "top", "right" 以及 "bottom" 屬性進行規(guī)定。 |
| relative | 生成相對定位的元素,相對于其正常位置進行定位。因此,"left:20" 會向元素的 left 位置添加 20 像素。 |
| sticky | CSS3 新增,粘性定位,相對于最近的一個擁有“滾動機制”的祖先上(當該祖先的overflow 是 hidden, scroll, auto 或 overlay時,即不是 visible 時)。它的行為就像 position:relative 而當頁面滾動超出目標區(qū)域時,它的表現(xiàn)就像 position:fixed,它會固定在目標位置。 |
| static | 默認值。沒有定位,元素出現(xiàn)在正常的流中 (忽略 left、top、right、bottom 或者 z-index 聲明)。 |
| inherit | 規(guī)定應(yīng)該從父元素繼承 position 屬性的值。 |
其中,CSS 定位機制:
CSS 有三種基本的定位機制:普通流、浮動和絕對定位。
除非專門指定,否則所有框都在普通流中定位。也就是說,普通流中的元素的位置由元素在 (X)HTML 中的位置決定。
塊級框從上到下一個接一個地排列,框之間的垂直距離是由框的垂直外邊距計算出來。
行內(nèi)框在一行中水平布置??梢允褂盟絻?nèi)邊距、邊框和外邊距調(diào)整它們的間距。但是,垂直內(nèi)邊距、邊框和外邊距不影響行內(nèi)框的高度。由一行形成的水平框稱為行框(Line Box),行框的高度總是足以容納它包含的所有行內(nèi)框。不過,設(shè)置行高可以增加這個框的高度。
position: absolute;
絕對定位 ,絕對定位的元素的位置相對于最近的已定位父元素,如果元素沒有已定位的父元素,那么它的位置相對于 :
one two three
- div {
- width: 100px;
- height: 100px;
- }
- .one {
- background: red;
- }
- .two {
- background: yellow;
- position: absolute;
- top: 50px;
- left: 50px;
- }
- .three {
- background: green;
- }
position: fixed;
固定定位 ,與絕對定位相似,但元素的包含塊為 viewport 視口。該定位方式常用于創(chuàng)建在滾動屏幕時仍固定在相同位置的元素。在下面的示例中,"one" 元素定位在離頁面頂部 80px,離頁面左側(cè) 20px 的位置。
one two
- .an {
- width: 500px;
- height: 300px;
- overflow: scroll;
- background: indianred;
- }
- .one {
- position: fixed;
- top: 50px;
- left: 50px;
- background: red;
- width: 100px;
- height: 100px;
- color: white;
- }
- .two {
- background: yellow;
- height: 500px;
- }
position: relative;
相對定位 ,相對于其正常位置進行定位,不影響其他元素的偏移。
one two three
- div {
- width: 100px;
- height: 100px;
- color: white;
- }
- .one {
- background: red;
- }
- .two {
- background: yellow;
- position: relative;
- top: 50px;
- left: 50px;
- }
- .three {
- background: green;
- }
position: sticky;
粘性定位 ,可以被認為是相對定位和固定定位的混合。元素在跨越特定閾值前為相對定位,之后為固定定位
這是一個結(jié)合了 position:relative 和 position:fixed 兩種定位功能于一體的特殊定位。常見的吸頂、吸底(頭部返回欄,底部切換欄等)的效果都是使用這個屬性:
注意:
- 須指定 top 、 right 、 bottom 、 left 四個閾值其中之一,才可使粘性定位生效。否則其行為與相對定位相同。并且 top 和 bottom 同時設(shè)置時,top 生效的優(yōu)先級高,left 和 right 同時設(shè)置時,left 的優(yōu)先級高。
- 設(shè)定為 position:sticky 元素的任意父節(jié)點的 overflow 屬性必須是 visible,否則 position:sticky 不會生效。如果 position:sticky 元素的任意父節(jié)點定位設(shè)置為 overflow:hidden,則父容器無法進行滾動,所以 position:sticky 元素也不會有滾動然后固定的情況。如果 position:sticky 元素的任意父節(jié)點定位設(shè)置為 position:relative | absolute | fixed,則元素相對父元素進行定位,而不會相對 viewport 定位。
- 達到設(shè)定的閥值,也就是設(shè)定了 position:sticky 的元素表現(xiàn)為 relative 還是 fixed是根據(jù)元素是否達到設(shè)定了的閾值決定的。
position: static;
靜態(tài)定位 ,HTML 元素默認情況下的定位方式為 static(靜態(tài)),靜態(tài)定位的元素不受 top、bottom、left 和 right 屬性的影響,它始終根據(jù)頁面的正常流進行定位
position: inherit;
inherit 值如同其他 css 屬性的 inherit 值,即繼承父元素的 position 值。
分享名稱:Position屬性有哪些值,各有什么特點?
URL網(wǎng)址:http://fisionsoft.com.cn/article/dhgiisp.html


咨詢
建站咨詢
