iT邦幫忙

2021 iThome 鐵人賽

DAY 17
0
Modern Web

30天打造品牌特色電商網站系列 第 23

30天打造品牌特色電商網站 Day.23 關於position定位

  • 分享至 

  • xImage
  •  

在排版方面還有一個很重要的屬性,其實前面的範例多少能見到它的身影,今天我們就來深入的認識它吧!<position>是一個用於定位元素的屬性,在CSS中絕對是不可缺少的一部分,它分為幾種不同的類型:

  • <static>

<static>是一個預設值,沒有以任何特殊方式定位的元素,會照著瀏覽器預設的配置自動排版在頁面上,如果 position 的值是被設定為<statics>的話,那 top、bottom、left、 right 的值就都沒有意義了喔!

.div {
  position: static;
}
  • <relative>

<relative>是相對於原本的位置再進行定位,元素內設定位置屬性 top 、 right 、 bottom 、 left ,會使其元素「相對地」調整位置,這個調整不會影醒到其他元素的位置。

.div {
  position: relative;
  left: 20px;
  top: 20px;
}
  • <fixed>

<fixed>會相對於瀏覽器視窗來定位,所以網站捲動時元素不會跟著移動,<fixed>元素不會保留它原本在頁面應有的空間,不會跟其他元素的配置互相干擾,常見的就是導覽列的部分可以用<fixed>來做定位,這樣網站往下滑的時候還是可以看到最上排的導覽列喔!

.div {
  position: fixed;
  bottom: 0;
  right: 0;
}
  • <absolute>

<absolute>的定位方式是往上層容器去找定位,再依據上層容器去移動到相對位置,<absolute> 元素對其它元素的佈局沒有影響,可以將元素放在版面的任何地方,要注意的是如果沒有可以被定位的上層容器的話(<position:static>不算是可以被定位的元素喔!),就會找到<body>去做定位,並隨著頁面滾動而移動。

.div { /*添加可定位元素*/
  position: relative;
  width: 600px;
  height: 600px;
}
.div2 {
  position: absolute;/*往上層找*/
  top: 0;
  right: 0;
  width: 100px;
  height: 100px;
}
  • <sticky>

<sticky>屬性是相對定位和固定定位的混合體,元素開始先視為相對定位,直到它超過指定的值,就會被視為固定定位。

.div {
  position: -webkit-sticky; /* Safari瀏覽器 */
  position: sticky;
  top: 0;/*指定值*/
}

<position>屬性雖然有些複雜,但它是做出一個良好的版面配置的必備的知識喔,大家可以多練習看看!


上一篇
30天打造品牌特色電商網站 Day.22 圖片排版實作
下一篇
30天打造品牌特色電商網站 Day.24 電商必用的各類提示
系列文
30天打造品牌特色電商網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言