1. 程式人生 > >web第6次作業position

web第6次作業position

position 屬性指定了元素的定位型別。

position 屬性的五個值:

  • static  (靜態定位)         

    HTML元素的預設值,即沒有定位,元素出現在正常的流中。

    靜態定位的元素不會受到 top, bottom, left, right影響。

    div.static {
        position: static;
        border: 3px solid #73AD21;
    }

     

  • relative  (相對定位)相對定位元素的定位是相對其正常位置.
  • 複製程式碼
    h2.pos_left
    {
        position:relative;
        left:-20px;
    }
    h2.pos_right
    {
        position:relative;
        left:20px;
    }
    複製程式碼

    移動相對定位元素,但它原本所佔的空間不會改變

    h2.pos_top
    {
        position:relative;
        top:-50px;
    }

     

  • fixed     (絕對定位)

    元素的位置相對於瀏覽器視窗是固定位置。

    即使視窗是滾動的它也不會移動:

  • 複製程式碼
    p.pos_fixed
    {
        position:fixed;
        top:30px;
        right:5px;
    }
    複製程式碼
  • absolute  (固定定位)
  • 絕對定位的元素的位置相對於最近的已定位父元素,如果元素沒有已定位的父元素,那麼它的位置相對於<html>:
  • 複製程式碼
    h2
    {
        position:absolute;
        left:100px;
        top:150px;
    }
    複製程式碼
  • sticky  (粘性定位)

    position: sticky; 基於使用者的滾動位置來定位。

    粘性定位的元素是依賴於使用者的滾動,在 position:relative 與 position:fixed 定位之間切換。

    它的行為就像 position:relative; 而當頁面滾動超出目標區域時,它的表現就像 position:fixed;,它會固定在目標位置。

    元素定位表現為在跨越特定閾值前為相對定位,之後為固定定位。

    這個特定閾值指的是 top, right, bottom 或 left 之一,換言之,指定 top, right, bottom 或 left 四個閾值其中之一,才可使粘性定位生效。否則其行為與相對定位相同。

    注意: Internet Explorer, Edge 15 及更早 IE 版本不支援 sticky 定位。 Safari 需要使用 -webkit- prefix (檢視以下例項)。

    複製程式碼
    div.sticky {
        position: -webkit-sticky; /* Safari */
        position: sticky;
        top: 0;
        background-color: green;
        border: 2px solid #4CAF50;
    }