CSS position 屬性

static

預設值,照著瀏覽器的預設配值自動排版在頁面上。

relative

如果沒有增加額外的屬性,表現會跟 static 一模一樣。

使用 toprightbottomleft 屬性,會使元素調整原本的相對位置,

若因為屬性去影響了位置或空間,都不會影響到原本其他元素所在的位置。

<style>
  .sample1 {
    border: 2px solid blue;
    padding: 30px;
    position: relative;
  }

  .sample2 {
    padding: 30px;
    border: 2px solid green;
    position: relative;
    top: -20px;
    left: 15px;
  }
</style>
<div class="sample1">relative</div>
<div class="sample2">relative + top: -20px; + left: 15px;</div>

JS Bin

fixed

會相對於瀏覽器視窗來定位,即便是頁面捲動它還是會固定在相同的位置。

不會跟其他元素的配置互相干擾,經常用於導覽列固定在上方。

absolute

絕對定位是許多人最為迷失的部分,簡單來說它是被定義在上層容器的相對位置下。

若上層容器沒有可以被定位的元素,那它就會相對於所有內容 ( 即 <body> 元素 )。

除了套用 position: static 以外的屬性值的元素都算被定義為可以定位的元素。

<style>
  .sample1 {
    padding: 30px;
    border: 2px solid blue;
  }

  .sample2 {
    padding: 30px;
    border: 2px solid green;
    position: relative;
  }

  .e-absolute {
    border: 1px solid red;
    position: absolute;
    top: 10px;
    left: 0;
  }
</style>
<div class="sample1">
  This is sample-1 (without position: relative;)
  <div class="e-absolute">
    hello this is example for absolute &lt;div&gt;
  </div>
</div>
<div class="sample2">
  This is sample-2.
  <div class="e-absolute">
    hello this is example for absolute &lt;div&gt;
  </div>
</div>

JS Bin

results matching ""

    No results matching ""