CSS- 4.4 固定定位(fixed) 咖啡售賣官網實例

本系列可作為前端學習系列的筆記,代碼的運行環境是在HBuilder中,小編會將代碼復制下來,大家復制下來就可以練習了,方便大家學習。

HTML系列文章?已經收錄在前端專欄,有需要的寶寶們可以點擊前端專欄查看!

點贊關注不迷路!您的點贊、關注和收藏是對小編最大的支持和鼓勵!

系列文章目錄

CSS- 1.1 css選擇器

CSS- 2.1 實戰之圖文混排、表格、表單、學校官網一級導航欄

CSS- 3.1 盒子模型-塊級元素、行內元素、行內塊級元素和display屬性

CSS- 4.1 浮動(Float)

CSS- 4.2 相對定位(position: relative)

CSS- 4.3 絕對定位(position: absolute)&學校官網導航欄實例

CSS- 4.4 固定定位(fixed)& 咖啡售賣官網實例


目錄

系列文章目錄

前言

一、固定定位(fixed)詳解

1、固定定位(fixed)的基本概念

2、固定定位的核心特性

1. 相對于視口定位

2. 脫離文檔流

3. 定位屬性

3、固定定位的常見應用場景

1. 固定導航欄

2. 返回頂部按鈕

3. 浮動廣告或通知

4. 視頻播放器控件

4、固定定位的注意事項

1. 層疊上下文

2. 移動設備上的行為

3. 鍵盤彈出影響

4. 內容重疊問題

5. 打印樣式

5、固定定位與其他定位方式的比較

6、最佳實踐建議

二、代碼實例

1.練習代碼實例如下:

?2.咖啡售賣官網 代碼實例如下:

總結


前言

小編作為新晉碼農一枚,會定期整理一些寫的比較好的代碼,作為自己的學習筆記,會試著做一下批注和補充,如轉載或者參考他人文獻會標明出處,非商用,如有侵權會刪改!歡迎大家斧正和討論!

一、固定定位(fixed)詳解

1、固定定位(fixed)的基本概念

固定定位(position: fixed)是CSS中一種特殊的定位方式,它使元素相對于瀏覽器視口(viewport)進行定位,即使頁面滾動,元素也會保持在視口的固定位置。固定定位元素會脫離正常的文檔流,不占據原始文檔空間。

2、固定定位的核心特性

1. 相對于視口定位

  • 固定定位元素的位置始終相對于瀏覽器窗口,而不是文檔或任何父元素
  • 即使頁面滾動,元素也會保持在屏幕上的相同位置

2. 脫離文檔流

  • 與絕對定位類似,固定定位元素不占據文檔中的空間
  • 其他元素會忽略它的存在,就好像它從文檔中"消失"了一樣

3. 定位屬性

  • 使用toprightbottomleft屬性來精確控制位置
  • 示例:

css

.fixed-element {position: fixed;top: 20px;right: 20px;width: 150px;background: rgba(0,0,0,0.7);color: white;padding: 10px;text-align: center;
}

3、固定定位的常見應用場景

1. 固定導航欄

html

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">.fixed-nav {position: fixed;top: 0;left: 0;width: 100%;background: #333;color: white;padding: 15px 0;z-index: 1000;}.content {margin-top: 60px; /* 為固定導航欄留出空間 */padding: 20px;}</style></head><body><nav class="fixed-nav"><ul><li><a href="#">首頁</a></li><li><a href="#">產品</a></li><li><a href="#">關于</a></li><li><a href="#">聯系</a></li></ul></nav><div class="content"><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><h1>hhh </h1><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><p>哈哈哈</p><h1>hhh </h1><!-- 大量內容... --></div></body>
</html>

css

.fixed-nav {position: fixed;top: 0;left: 0;width: 100%;background: #333;color: white;padding: 15px 0;z-index: 1000;
}
.content {margin-top: 60px; /* 為固定導航欄留出空間 */padding: 20px;
}

?代碼運行:導航欄固定在上方

2. 返回頂部按鈕

html

<button class="back-to-top">↑ 返回頂部</button>

css

.back-to-top {position: fixed;bottom: 30px;right: 30px;padding: 10px 15px;background: #333;color: white;border: none;border-radius: 50%;cursor: pointer;opacity: 0;transition: opacity 0.3s;
}
.back-to-top.visible {opacity: 1;
}

(通常配合JavaScript在滾動一定距離后顯示)

3. 浮動廣告或通知

html

<div class="floating-ad"><p>限時優惠!立即購買!</p><button class="close-ad">×</button>
</div>

css

.floating-ad {position: fixed;bottom: 0;left: 50%;transform: translateX(-50%);width: 90%;max-width: 500px;background: #f8d7da;color: #721c24;padding: 15px;border-radius: 5px 5px 0 0;box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
}
.close-ad {float: right;background: none;border: none;font-weight: bold;cursor: pointer;
}

?

4. 視頻播放器控件

html

<div class="video-container"><video src="video.mp4" controls></video><div class="video-controls"><!-- 播放/暫停按鈕、進度條等 --></div>
</div>

css

.video-controls {position: fixed;bottom: 20px;left: 50%;transform: translateX(-50%);background: rgba(0,0,0,0.8);padding: 10px 20px;border-radius: 30px;display: flex;align-items: center;gap: 15px;
}

?

4、固定定位的注意事項

1. 層疊上下文

  • 固定定位元素會創建新的層疊上下文(當設置了z-index值時)
  • 示例:

css

.fixed-header {position: fixed;top: 0;left: 0;width: 100%;z-index: 100; /* 確保在大多數內容之上 */background: white;
}

2. 移動設備上的行為

  • 在iOS等移動設備上,固定定位元素在滾動時可能會有輕微抖動
  • 某些移動瀏覽器可能會忽略fixed定位或表現不一致

3. 鍵盤彈出影響

  • 在移動設備上,當鍵盤彈出時,固定定位元素的位置可能會受到影響

4. 內容重疊問題

  • 固定定位元素可能會遮擋頁面內容,需要為下方內容留出空間
  • 示例:

css

body {padding-top: 60px; /* 為固定導航欄留出空間 */
}

5. 打印樣式

  • 固定定位元素在打印時可能不會按預期顯示,需要特殊處理

5、固定定位與其他定位方式的比較

定位方式是否脫離文檔流定位基準點滾動行為適用場景
static (默認)正常文檔流隨文檔滾動默認布局
relative相對于自身原始位置隨文檔滾動微調元素位置
absolute相對于最近的已定位祖先元素隨文檔滾動創建浮動元素、工具提示等
fixed相對于視口不隨文檔滾動固定導航欄、返回頂部按鈕
sticky否(滾動時是)相對于最近的滾動祖先和視口滾動到閾值后固定粘性頭部、側邊欄

6、最佳實踐建議

  1. 考慮移動設備兼容性:在移動設備上測試固定定位元素的行為,特別是滾動和鍵盤彈出時

  2. 為下方內容留出空間:使用margin-toppadding-top為固定定位元素下方的頁面內容留出空間,防止內容被遮擋

  3. 合理使用z-index:確保固定定位元素在正確的層疊順序中,避免被其他元素遮擋

  4. 響應式設計:在小屏幕上可能需要調整固定定位元素的位置或完全隱藏它們

  5. 性能考慮:避免在固定定位元素上使用復雜的動畫或效果,這可能會影響滾動性能

  6. 可訪問性:確保固定定位元素不會干擾鍵盤導航或屏幕閱讀器的使用

固定定位是創建現代網頁布局中非常有用的工具,特別適合需要始終可見的元素。然而,由于其特殊的行為,使用時需要特別注意其對頁面布局和用戶體驗的影響。

二、代碼實例

1.練習代碼實例如下:

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>定位-固定定位</title><style type="text/css">.fix {width: 100px;height: 100px;background-color: #996600;border-radius: 40px 40px;position: fixed;bottom: 0px;right: 0px;}.fix a:link,a:visited {color: white;text-decoration: none;display: block;width: 100px;height: 100px;text-align: center;line-height: 100px;}</style></head><body><div class="fix"><a href="../個人主題網站/index.html"><h3 align="center">返回首頁</h3></a></div></body>
</html>

代碼運行:有一個固定的圖標在頁面右下角

?2.咖啡售賣官網 代碼實例如下:

html

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>子絕父相</title><link rel="stylesheet" type="text/css" href="../css/cs4-6.css" /><style type="text/css">.fix {width: 100px;height: 100px;background-color: #996600;border-radius: 40px 40px;position: fixed;bottom: 0px;right: 0px;}.fix a:link,a:visited {color: white;text-decoration: none;display: block;width: 100px;height: 100px;text-align: center;line-height: 100px;}.header {width: 900px;height: 220px;margin: 10px auto;}.showpic {width: 1100px;height: 230px;margin: 10px auto;}.container {width: 170px;height: 230px;/* border: 1px solid black; */position: relative;float: left;margin-right: 50px;}.container .coffee:link,.coffee:visited {text-decoration: none;color: #996600;}.container .tag {position: absolute;bottom: 1px;left: 40px;/* display: block;width: 170px;height: 35px;text-align: center; */}.container a:hover {opacity: 0.7;}</style></head><body><div class="header"><img src="../img/coffee.jpg"></div><div class="nvg"><ul><li><a href="#">人才培養</a><ul><li><a href="#">咖啡簡介</a></li><li><a href="#">歷史沿革</a></li><li><a href="#">季節限定</a></li><li><a href="#">產地漫游</a></li></ul></li><li><a href="#">菜單一覽</a><ul><li><a href="#">咖啡簡介</a></li><li><a href="#">歷史沿革</a></li><li><a href="#">季節限定</a></li><li><a href="#">產地漫游</a></li></ul></li><li><a href="#">體系設置</a><ul><li><a href="#">咖啡簡介</a></li><li><a href="#">歷史沿革</a></li><li><a href="#">季節限定</a></li><li><a href="#">產地漫游</a></li></ul></li><li><a href="#">品牌特色</a><ul><li><a href="#">咖啡簡介</a></li><li><a href="#">歷史沿革</a></li><li><a href="#">季節限定</a></li><li><a href="#">產地漫游</a></li></ul></li><li><a href="#">招聘啟事</a><ul><li><a href="#">咖啡簡介</a></li><li><a href="#">歷史沿革</a></li><li><a href="#">季節限定</a></li><li><a href="#">產地漫游</a></li></ul></li><li><a href="#">咖啡資源</a><ul><li><a href="#">咖啡簡介</a></li><li><a href="#">歷史沿革</a></li><li><a href="#">季節限定</a></li><li><a href="#">產地漫游</a></li></ul></li><li><a href="#">科學成分</a><ul><li><a href="#">咖啡簡介</a></li><li><a href="#">歷史沿革</a></li><li><a href="#">季節限定</a></li><li><a href="#">產地漫游</a></li></ul></li><li><a href="#">咖啡分布</a><ul><li><a href="#">咖啡簡介</a></li><li><a href="#">歷史沿革</a></li><li><a href="#">季節限定</a></li><li><a href="#">產地漫游</a></li></ul></li></ul></div><div class="showpic"><div class="container"><a href="#" class="coffee"><img src="../img/kbjn.jpg"><span class="tag">阿拉比卡</span></a></div><div class="container"><a href="#" class="coffee"><img src="../img/kbjn.jpg"><span class="tag">羅布斯塔</span></a></div><div class="container"><a href="#" class="coffee"><img src="../img/kbjn.jpg"><span class="tag">利比里卡</span></a></div><div class="container"><a href="#" class="coffee"><img src="../img/kbjn.jpg"><span class="tag">埃克塞爾莎</span></a></div><div class="container"><a href="#" class="coffee"><img src="../img/kbjn.jpg"><span class="tag">?藍山</span></a></div></div><div class="showpic"><div class="container"><a href="#" class="coffee"><img src="../img/kbjn.jpg"><span class="tag">格拉納達</span></a></div><div class="container"><a href="#" class="coffee"><img src="../img/kbjn.jpg"><span class="tag">鐵皮卡</span></a></div><div class="container"><a href="#" class="coffee"><img src="../img/kbjn.jpg"><span class="tag">波旁</span></a></div><div class="container" class="coffee"><a href="#" class="coffee"><img src="../img/kbjn.jpg"><span class="tag">瑰夏</span></a></div><div class="container"><a href="#" class="coffee"><img src="../img/kbjn.jpg"><span class="tag">耶加雪菲</span></a></div></div><div class="fix"></div></body>
</html>

css

/* 導航欄的父盒子 */
* {padding: 0px;
}
.nvg {width: 1376px;height: 42px;/* border: 1px solid black; */margin: 10px auto;
}
/* 一級二級導航欄框架 */
.nvg ul {list-style-type: none;
}
/* 一級導航欄 */
/* .nvg>ul>li {list-style-type: none;
} */
.nvg>ul>li:hover ul{display: block;
}
/* 二級導航欄 */
.nvg>ul>li>ul {display: none;position: absolute;top: 42px;z-index: 999;
}
/* 每一個li */
.nvg ul li {width: 170px;height: 40px;background-color: #996600;border: 1px solid #CCCCCC;position: relative;float: left;
}
.nvg a:link,a:visited {text-decoration: none;font: 20px "times new roman";color: white;display: block;width: 170px;height: 40px;text-align: center;line-height: 40px;
}
.nvg a:hover {background-color: #492002;
}

代碼運行如下:?

當鼠標懸停在圖片上時,清晰度變化:

  1. 正常狀態:鏈接保持完全不透明(opacity: 1)
  2. 懸停狀態:當鼠標移動到鏈接上時,不透明度變為0.7,產生淡出效果
  3. 鼠標移出:當鼠標移開時,不透明度恢復為1
.container a:hover {opacity: 0.7;
}

?


總結

以上就是今天要講的內容,本文簡單記錄了固定定位(fixed)以及咖啡售賣官網,僅作為一份簡單的筆記使用,大家根據注釋理解

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/906103.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/906103.shtml
英文地址,請注明出處:http://en.pswp.cn/news/906103.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

分布式微服務系統架構第132集:Python大模型,fastapi項目-Jeskson文檔-微服務分布式系統架構

加群聯系作者vx&#xff1a;xiaoda0423 倉庫地址&#xff1a;https://webvueblog.github.io/JavaPlusDoc/ https://1024bat.cn/ https://github.com/webVueBlog/fastapi_plus 這個錯誤是由于 Python 3 中已經將線程的 isAlive() 方法更名為 is_alive()&#xff0c;但你的調試工…

react路由中Suspense的介紹

好的&#xff0c;我們來詳細解釋一下這個 AppRouter 組件的代碼。 這個組件是一個在現代 React 應用中非常常見的模式&#xff0c;特別是在使用 React Router v6 進行路由管理和結合代碼分割&#xff08;Code Splitting&#xff09;來優化性能時。 JavaScript const AppRout…

C語言內存函數與數據在內存中的存儲

一、c語言內存函數 1、memcpy函數是一個標準庫函數&#xff0c;用于內存復制。功能上是用來將一塊內存中的內容復制到另一塊內存中。用戶需要提供目標地址、源地址以及要復制的字節數。例如結構體之間的復制。 memcpy函數的原型是&#xff1a;void* memcpy&#xff08;void* …

層次原理圖

層次原理圖簡介 層次原理圖&#xff08;Hierarchical Schematic&#xff09;是一種常用于電子工程與系統設計的可視化工具&#xff0c;通過分層結構將復雜系統分解為多個可管理的子模塊。它如同“設計藍圖”&#xff0c;以樹狀結構呈現整體與局部的關系&#xff1a;頂層展現系…

流程編輯器Bpmn與LogicFlow學習

工作流技術如何與用戶交互結合&#xff08;如動態表單、任務分配&#xff09;處理過 XML 與 JSON 的轉換自定義過 bpmn.js 的樣式&#xff08;如修改節點顏色、形狀、圖標&#xff09;擴展過上下文菜單&#xff08;Palette&#xff09;或屬性面板&#xff08;Properties Panel&…

LWIP的NETCONN接口

NETCONN接口簡介 NETCONN API 使用了操作系統的 IPC 機制&#xff0c; 對網絡連接進行了抽象&#xff0c;使用同一的接口完成UDP和TCP連接 NETCONN API接口是在RAW接口基礎上延申出來的一套API接口 NETCONN實現原理 2.1&#xff0c;NETCONN控制塊 2.2&#xff0c;NETCONN收…

Linux搜索

假如我們要搜索 struct sockaddr_in 我們在命令終端輸入 cd/usr/include/ //進入頭文件目錄地址 /usr/include/ grep " struct sockaddr_in { " *-nir &#xff08;*是在當前目錄&#xff0c;n 是找出來顯示行數…

2025長三角杯數學建模B題思路模型代碼:空氣源熱泵供暖的溫度預測,賽題分析與思路

2025長三角杯數學建模B題思路模型代碼&#xff0c;詳細內容見文末名片 空氣源熱泵是一種與中央空調類似的設備&#xff0c;其結構主要由壓縮主機、熱交換 器以及末端構成&#xff0c;依靠水泵對末端房屋提供熱量來實現制熱。空氣源熱泵作為熱 慣性負載&#xff0c;調節潛力巨…

ssh免密碼登錄

創建秘鑰和公鑰 ssh-keygen -t rsa 輸入上述命令后&#xff0c;直接按回車即可&#xff0c;完成后會在上面信息顯示&#xff0c;生成的文件路徑信息 id_rsa&#xff1a;秘鑰 id_rsa.pub&#xff1a; 公鑰 將公鑰的內容copy到遠端 將id_rsa.pub的內容拷貝到~/.ssh下的authori…

基于Bootstrap 的網頁html css 登錄頁制作成品

目錄 前言 一、網頁制作概述 二、登錄頁面 2.1 HTML內容 2.2 CSS樣式 三、技術說明書 四、頁面效果圖 前言 ?Bootstrap?是一個用于快速開發Web應用程序和網站的前端框架&#xff0c;由Twitter的設計師Mark Otto和Jacob Thornton合作開發。 它基于HTML、CSS和JavaScri…

20倍云臺球機是一種高性能的監控設備

20倍云臺球機是一種高性能的監控設備&#xff0c;其主要特點包括20倍光學變焦能力和云臺旋轉功能。以下是對20倍云臺球機的詳細分析&#xff1a; 一、主要特點 20倍光學變焦 &#xff1a; 攝像機鏡頭能夠在保持圖像清晰度的前提下&#xff0c;將監控目標放大20倍。 這一功能…

大型語言模型應用十大安全風險

40多頁LLM應用的十大風險 這是一份關于LLM應用的十大風險&#xff08;2025版&#xff09;&#xff0c;有一定的參考價值。 如果你時間充裕&#xff0c;可以聽聽播客&#xff0c;詳細了解&#xff1a; 如果你只想快速了解10條分別是什么&#xff0c;可以直接看重點摘錄&#xff…

一文掌握工業相機選型計算

目錄 一、基本概念 1.1 物方和像方 1.2 工作距離和視場 1.3 放大倍率 1.4 相機芯片尺寸 二、公式計算 三、實例應用 一、基本概念 1.1 物方和像方 在光學領域&#xff0c;物方&#xff08;Object Space&#xff09;是與像方&#xff08;Image Space&#xff09;相對的…

《虛擬即真實:數字人驅動技術在React Native社交中的涅槃》

當React Native與數字人驅動技術相遇&#xff0c;它們將如何攜手塑造社交應用中智能客服與虛擬主播的自然交互呢&#xff1f;這正是本文要深入探討的話題。 React Native是Facebook開源的一個用于構建原生移動應用的框架&#xff0c;它允許開發者使用JavaScript和React編寫代碼…

使用AI 生成PPT 最佳實踐方案對比

文章大綱 一、專業AI生成工具(推薦新手)**1. 推薦工具詳解****2. 操作流程優化****3. 優勢與局限**二、代碼生成方案(開發者推薦)**1. Python-pptx進階用法****2. GitHub推薦**三、混合工作流(平衡效率與定制)**1. 工具鏈升級****2. 示例Markdown結構**四、網頁轉換方案(…

前端-HTML元素

目錄 HTML標簽是什么&#xff1f; 什么是HTML元素&#xff1f; HTML元素有哪些分類方法&#xff1f; 什么是HTML頭部元素 更換路徑 注&#xff1a;本文以leetbook為基礎 HTML標簽是什么&#xff1f; HTML標簽是HTML語言中最基本單位和重要組成部分 雖然它不區分大小寫&a…

菱形繼承原理

在C中&#xff0c;菱形繼承的內存模型會因是否使用虛繼承產生本質差異。我們通過具體示例說明兩種場景的區別&#xff1a; 一、普通菱形繼承的內存模型 class A { int a; }; class B : public A { int b; }; class C : public A { int c; }; class D : public B, public C { i…

2025認證杯數學建模第二階段A題小行星軌跡預測思路+模型+代碼

2025認證杯數學建模第二階段思路模型代碼&#xff0c;詳細內容見文末名片 一、問題重述 1.1 問題背景 在浩瀚無垠的宇宙中&#xff0c;近地小行星&#xff08;NEAs&#xff09;宛如一顆顆神秘的“太空子彈”&#xff0c;其軌道相對接近地球&#xff0c;給我們的藍色星球帶來…

掌握Docker Commit:輕松創建自定義鏡像

使用 docker commit 命令可以通過對現有容器進行修改來創建新的鏡像。-a 選項用于指定作者信息&#xff0c;-m 選項用于添加提交信息。以下是具體步驟&#xff1a; 啟動并修改容器 啟動一個容器并進行必要的修改。例如&#xff0c;啟動一個 Ubuntu 容器并安裝一些軟件包&…

Java虛擬機 - JVM與Java體系結構

Java虛擬機 JVM與Java體系結構為什么要學習JVMJava與JVM簡介Java 語言的核心特性JVM&#xff1a;Java 生態的基石JVM的架構模型基于棧的指令集架構&#xff08;Stack-Based&#xff09;基于寄存器的指令集架構&#xff08;Register-Based&#xff09;JVM生命周期 總結 JVM與Jav…