使用 fixed positioning 實現網頁元素的固定位置

一、什麼是 fixed positioning

Fixed positioning 是指將元素固定在頁面上的某個位置,不隨頁面滾動而移動的一種 CSS 布局方式。使用 fixed positioning 最常見的場景是固定導航欄、側邊欄或廣告等元素。

在使用 fixed positioning 時,需要指定元素的 left、right、top 和 bottom 四個位置屬性。同時,元素的位置參照於瀏覽器窗口而非文檔流。

二、如何使用 fixed positioning 實現網頁元素的固定位置

1. 固定頂部導航欄

<nav class="navbar">
  <ul>
    <li><a href="#">首頁</a></li>
    <li><a href="#">新聞</a></li>
    <li><a href="#">關於我們</a></li>
  </ul>
</nav>


.navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  z-index: 9999;
}

通過將頂部導航欄的 position 屬性設置為 fixed、top 和 left 屬性設置為 0,即可將導航欄固定在瀏覽器窗口的頂部。

2. 固定側邊欄

<div class="sidebar">
  <ul>
    <li><a href="#">菜單1</a></li>
    <li><a href="#">菜單2</a></li>
    <li><a href="#">菜單3</a></li>
  </ul>
</div>


.sidebar {
  position: fixed;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.sidebar ul {
  padding: 0;
  list-style: none;
  background-color: #fff;
  box-shadow: 1px 0 4px rgba(0, 0, 0, 0.08);
}
.sidebar li {
  margin: 0;
  padding: 10px;
  border-bottom: 1px solid #f2f2f2;
}

通過將側邊欄的 position 屬性設置為 fixed、top 屬性設置為 50%、transform 屬性設置為 translateY(-50%),即可將側邊欄垂直居中。此外,還需將 left 屬性設置為 0,將側邊欄固定在瀏覽器窗口的左側。

3. 固定返回頂部按鈕

<button class="back-to-top"><i class="fa fa-arrow-up"></i></button>


.back-to-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  padding: 10px;
  background-color: #ccc;
  border: none;
  outline: none;
  visibility: hidden;
  opacity: 0;
  transition: all 0.2s ease-in-out;
}
.back-to-top.active {
  visibility: visible;
  opacity: 1;
}



const backToTop = document.querySelector('.back-to-top');

window.addEventListener('scroll', function() {
  if (window.scrollY > 500) {
    backToTop.classList.add('active');
  } else {
    backToTop.classList.remove('active');
  }
});

backToTop.addEventListener('click', function() {
  window.scrollTo(0, 0);
});

通過將返回頂部按鈕的 position 屬性設置為 fixed,bottom 和 right 屬性分別設置為距離瀏覽器窗口底部和右側的距離,即可將按鈕固定在瀏覽器窗口的右下角。此外,還可以通過監聽 window 對象的 scroll 事件,來判斷用戶是否已滾動了一定距離,並根據情況控制按鈕的顯示與隱藏。

三、總結

以上是使用 fixed positioning 實現網頁元素的固定位置的一些例子。通過設置 position、top、left、bottom 和 right 等屬性,可以實現固定頂部導航欄、側邊欄、返回頂部按鈕等元素。但同時也需要注意,元素的固定位置可能會影響其他元素的布局,因此在實際應用中需要根據具體情況進行適當的處理。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/192731.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 10:29
下一篇 2024-12-01 10:29

相關推薦

  • ArcGIS更改標註位置為中心的方法

    本篇文章將從多個方面詳細闡述如何在ArcGIS中更改標註位置為中心。讓我們一步步來看。 一、禁止標註智能調整 在ArcMap中設置標註智能調整可以自動將標註位置調整到最佳顯示位置。…

    編程 2025-04-29
  • Python遍歷集合中的元素

    本文將從多個方面詳細闡述Python遍歷集合中的元素方法。 一、for循環遍歷集合 Python中,使用for循環可以遍歷集合中的每個元素,代碼如下: my_set = {1, 2…

    編程 2025-04-29
  • Python列表中大於某數的元素處理方法

    本文將會介紹如何在Python列表中找到大於某數的元素,並對其進行進一步的處理。 一、查找大於某數的元素 要查找Python列表中大於某數的元素,可以使用列表推導式進行處理。 nu…

    編程 2025-04-29
  • Python Set元素用法介紹

    Set是Python編程語言中擁有一系列獨特屬性及特點的數據類型之一。它可以存儲無序且唯一的數據元素,這使得Set在數據處理中非常有用。Set能夠進行交、並、差集等操作,也可以用於…

    編程 2025-04-29
  • Python編程實現列表元素逆序存放

    本文將從以下幾個方面對Python編程實現列表元素逆序存放做詳細闡述: 一、實現思路 一般來說,使用Python將列表元素逆序存放可以通過以下幾個步驟實現: 1. 定義一個列表 2…

    編程 2025-04-29
  • Python集合加入元素

    Python中的集合是一種無序且元素唯一的集合類型。集合中的元素可以是數字、字符串、甚至是其他集合類型。在本文中,我們將從多個方面來探討如何向Python集合中加入元素。 一、使用…

    編程 2025-04-29
  • 從不同位置觀察同一個物體,看到的圖形一定不同

    無論是在平時的生活中,還是在科學研究中,都會涉及到觀察物體的問題。而我們不僅要觀察物體本身,還需要考慮觀察的位置對觀察結果的影響。從不同位置觀察同一個物體,看到的圖形一定不同。接下…

    編程 2025-04-28
  • python爬取網頁並生成表格

    本文將從以下幾個方面詳細介紹如何使用Python爬取網頁數據並生成表格: 一、獲取網頁數據 獲取網頁數據的一般思路是通過HTTP請求獲取網頁內容,最常用的方式是使用Python庫r…

    編程 2025-04-28
  • Python在哪裡找stystem 32的位置

    Python是一種流行的編程語言,它被廣泛用於各種應用程序的開發。但是在使用Python編寫應用程序時,有時需要查找stystem 32的位置。本文將詳細闡述Python在哪裡找s…

    編程 2025-04-28
  • Java創建一個有10萬個元素的數組

    本文將從以下方面對Java創建一個有10萬個元素的數組進行詳細闡述: 一、基本介紹 Java是一種面向對象的編程語言,其強大的數組功能可以支持創建大規模的多維數組以及各種複雜的數據…

    編程 2025-04-28

發表回復

登錄後才能評論