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

Position 屬性有哪些值,各有什么特點(diǎn)?

開(kāi)發(fā) 前端
CSS 有三種基本的定位機(jī)制:普通流、浮動(dòng)和絕對(duì)定位。除非專(zhuān)門(mén)指定,否則所有框都在普通流中定位。也就是說(shuō),普通流中的元素的位置由元素在 (X)HTML 中的位置決定。

[[409479]]

本文轉(zhuǎn)載自微信公眾號(hào)「三分鐘學(xué)前端」,作者sisterAn。轉(zhuǎn)載本文請(qǐng)聯(lián)系三分鐘學(xué)前端公眾號(hào)。

positon

定義和用法:position 屬性規(guī)定元素的定位類(lèi)型。

說(shuō)明:這個(gè)屬性定義建立元素布局所用的 定位機(jī)制 。任何元素都可以定位,不過(guò)絕對(duì)或固定元素會(huì)生成一個(gè)塊級(jí)框,而不論該元素本身是什么類(lèi)型。相對(duì)定位元素會(huì)相對(duì)于它在正常流中的默認(rèn)位置偏移。

—— 來(lái)自 w3school

position 有以下可選值:

描述
absolute 生成絕對(duì)定位的元素,相對(duì)于 static 定位以外的第一個(gè)父元素進(jìn)行定位。元素的位置通過(guò) "left", "top", "right" 以及 "bottom" 屬性進(jìn)行規(guī)定。
fixed 生成絕對(duì)定位的元素,相對(duì)于瀏覽器窗口進(jìn)行定位。元素的位置通過(guò) "left", "top", "right" 以及 "bottom" 屬性進(jìn)行規(guī)定。
relative 生成相對(duì)定位的元素,相對(duì)于其正常位置進(jìn)行定位。因此,"left:20" 會(huì)向元素的 left 位置添加 20 像素。
sticky CSS3 新增,粘性定位,相對(duì)于最近的一個(gè)擁有“滾動(dòng)機(jī)制”的祖先上(當(dāng)該祖先的overflow 是 hidden, scroll, auto 或 overlay時(shí),即不是 visible 時(shí))。它的行為就像 position:relative 而當(dāng)頁(yè)面滾動(dòng)超出目標(biāo)區(qū)域時(shí),它的表現(xiàn)就像 position:fixed,它會(huì)固定在目標(biāo)位置。
static 默認(rèn)值。沒(méi)有定位,元素出現(xiàn)在正常的流中 (忽略 left、top、right、bottom 或者 z-index 聲明)。
inherit 規(guī)定應(yīng)該從父元素繼承 position 屬性的值。

其中,CSS 定位機(jī)制:

CSS 有三種基本的定位機(jī)制:普通流、浮動(dòng)和絕對(duì)定位。

除非專(zhuān)門(mén)指定,否則所有框都在普通流中定位。也就是說(shuō),普通流中的元素的位置由元素在 (X)HTML 中的位置決定。

塊級(jí)框從上到下一個(gè)接一個(gè)地排列,框之間的垂直距離是由框的垂直外邊距計(jì)算出來(lái)。

行內(nèi)框在一行中水平布置。可以使用水平內(nèi)邊距、邊框和外邊距調(diào)整它們的間距。但是,垂直內(nèi)邊距、邊框和外邊距不影響行內(nèi)框的高度。由一行形成的水平框稱為行框(Line Box),行框的高度總是足以容納它包含的所有行內(nèi)框。不過(guò),設(shè)置行高可以增加這個(gè)框的高度。

position: absolute;

絕對(duì)定位 ,絕對(duì)定位的元素的位置相對(duì)于最近的已定位父元素,如果元素沒(méi)有已定位的父元素,那么它的位置相對(duì)于 :

  1. <div class="one">one</div> 
  2. <div class="two">two</div> 
  3. <div class="three">three</div> 
  1. div { 
  2.     width: 100px; 
  3.     height: 100px; 
  4.  
  5. .one { 
  6.     background: red; 
  7.  
  8. .two { 
  9.     background: yellow; 
  10.     position: absolute
  11.     top: 50px; 
  12.     left: 50px; 
  13.  
  14. .three { 
  15.     background: green; 

position: fixed;

固定定位 ,與絕對(duì)定位相似,但元素的包含塊為 viewport 視口。該定位方式常用于創(chuàng)建在滾動(dòng)屏幕時(shí)仍固定在相同位置的元素。在下面的示例中,"one" 元素定位在離頁(yè)面頂部 80px,離頁(yè)面左側(cè) 20px 的位置。

  1. <div class="an"
  2.  <div class="one">one</div> 
  3.  <div class="two">two</div> 
  4. </div> 
  1. .an { 
  2.     width: 500px; 
  3.     height: 300px; 
  4.     overflow: scroll
  5.     background: indianred; 
  6.  
  7. .one { 
  8.     position: fixed; 
  9.     top: 50px; 
  10.     left: 50px; 
  11.     background: red; 
  12.     width: 100px; 
  13.     height: 100px; 
  14.     color: white; 
  15.  
  16. .two { 
  17.     background: yellow; 
  18.     height: 500px; 

position: relative;

相對(duì)定位 ,相對(duì)于其正常位置進(jìn)行定位,不影響其他元素的偏移。

  1. <div class="one">one</div> 
  2. <div class="two">two</div> 
  3. <div class="three">three</div> 
  1. div { 
  2.     width: 100px; 
  3.     height: 100px; 
  4.     color: white; 
  5.  
  6. .one { 
  7.     background: red; 
  8.  
  9. .two { 
  10.     background: yellow; 
  11.     position: relative
  12.     top: 50px; 
  13.     left: 50px; 
  14.  
  15. .three { 
  16.     background: green; 

position: sticky;

粘性定位 ,可以被認(rèn)為是相對(duì)定位和固定定位的混合。元素在跨越特定閾值前為相對(duì)定位,之后為固定定位

這是一個(gè)結(jié)合了 position:relative 和 position:fixed 兩種定位功能于一體的特殊定位。常見(jiàn)的吸頂、吸底(頭部返回欄,底部切換欄等)的效果都是使用這個(gè)屬性:

注意:

  • 須指定 top 、 right 、 bottom 、 left 四個(gè)閾值其中之一,才可使粘性定位生效。否則其行為與相對(duì)定位相同。并且 top 和 bottom 同時(shí)設(shè)置時(shí),top 生效的優(yōu)先級(jí)高,left 和 right 同時(shí)設(shè)置時(shí),left 的優(yōu)先級(jí)高。
  • 設(shè)定為 position:sticky 元素的任意父節(jié)點(diǎn)的 overflow 屬性必須是 visible,否則 position:sticky 不會(huì)生效。如果 position:sticky 元素的任意父節(jié)點(diǎn)定位設(shè)置為 overflow:hidden,則父容器無(wú)法進(jìn)行滾動(dòng),所以 position:sticky 元素也不會(huì)有滾動(dòng)然后固定的情況。如果 position:sticky 元素的任意父節(jié)點(diǎn)定位設(shè)置為 position:relative | absolute | fixed,則元素相對(duì)父元素進(jìn)行定位,而不會(huì)相對(duì) viewport 定位。
  • 達(dá)到設(shè)定的閥值,也就是設(shè)定了 position:sticky 的元素表現(xiàn)為 relative 還是 fixed是根據(jù)元素是否達(dá)到設(shè)定了的閾值決定的。

position: static;

靜態(tài)定位 ,HTML 元素默認(rèn)情況下的定位方式為 static(靜態(tài)),靜態(tài)定位的元素不受 top、bottom、left 和 right 屬性的影響,它始終根據(jù)頁(yè)面的正常流進(jìn)行定位

position: inherit;

 

inherit 值如同其他 css 屬性的 inherit 值,即繼承父元素的 position 值。

 

責(zé)任編輯:武曉燕 來(lái)源: 三分鐘學(xué)前端
相關(guān)推薦

2013-11-11 13:34:00

2010-09-15 13:50:04

CSSposition屬性

2021-11-10 23:29:24

混合云

2024-05-31 13:46:02

2023-05-15 16:24:00

光纖綜合布線

2022-08-24 07:06:36

SpringSetter項(xiàng)目

2010-09-03 13:02:04

CSSposition

2010-09-08 16:22:32

PositionCSS

2010-09-10 10:47:47

CSSposition

2010-09-15 13:44:01

CSS positio

2010-09-15 14:40:07

HTMLposition屬性

2013-05-20 15:45:12

CSS

2010-08-23 09:42:50

CSSPosition

2010-09-01 11:21:18

CSSpositionfloat

2011-03-24 16:12:55

Access

2021-02-21 13:48:13

Java編程語(yǔ)言

2010-08-24 15:11:24

PositionCSS

2018-07-20 15:25:02

2020-06-12 08:10:50

PHPNode.js編程語(yǔ)言

2021-03-10 13:55:41

微服務(wù)分布式架構(gòu)
點(diǎn)贊
收藏

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