国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 web前端 css教程 變得粘性 — CSS 粘性定位故障排除

變得粘性 — CSS 粘性定位故障排除

Nov 27, 2024 am 06:42 AM

作者:Ibadehin Mojeed??

您花了幾天甚至幾個(gè)月的時(shí)間來構(gòu)建一個(gè)時(shí)尚的網(wǎng)頁。一開始一切看起來都很棒,但當(dāng)你開始滾動(dòng)時(shí)……突然間,你的粘性元素——導(dǎo)航菜單、標(biāo)題或側(cè)邊欄號(hào)召性用語——要么根本不粘,要么不留在它們應(yīng)該在的地方。

令人沮喪,對吧?

乍一看似乎是一個(gè)小錯(cuò)誤,但很快就會(huì)變成一個(gè)真正令人頭痛的問題,如果不解決,可能會(huì)嚴(yán)重?fù)p害您網(wǎng)站的參與度。

在本指南中,我們將解決這些最常見的粘性定位問題:

  • 未指定偏移量
  • flex/grid 容器內(nèi)的粘性元素
  • 粘性元素容器的高度
  • 祖先有溢出屬性
  • 在 body 元素上溢出

然后我們將通過實(shí)際示例和技巧介紹如何解決這些粘性定位問題,讓您成為粘性定位專家!在我們解決了常見問題之后,您還可以找到位置屬性和 CSS 粘性位置的概述。

未指定偏移量

第一個(gè)也是最簡單的故障排除步驟是確保使用上、右、下或左等屬性指定偏移量:

.sticky-heading {
  position: sticky;
  top: 0; /* Offset not defined - sticky behavior won't activate */
}

如果沒有偏移,粘性行為將不會(huì)激活。此外,請確保應(yīng)用的偏移適合預(yù)期的滾動(dòng)方向。例如,頂部或底部用于垂直滾動(dòng),左側(cè)或右側(cè)用于水平滾動(dòng)。

flex/grid 容器內(nèi)的粘性元素

下面的 CodePen 演示了網(wǎng)格容器內(nèi)的粘性元素:

查看 CodePen 上 Ibaslogic (@ibaslogic) 的網(wǎng)格容器內(nèi)的 Pen Sticky 元素。

在 CodePen 中,標(biāo)題會(huì)粘住,因?yàn)槿菁{每個(gè)標(biāo)題的容器有足夠的可滾動(dòng)空間。為了更好地可視化布局,請嘗試在內(nèi)容周圍添加邊框。這將幫助您在滾動(dòng)瀏覽各個(gè)部分時(shí)了解每個(gè)標(biāo)題如何保持在適當(dāng)?shù)奈恢谩?

Getting sticky with it — Troubleshooting CSS sticky positioning ?

在 HTML 代碼中,標(biāo)題放置在網(wǎng)格容器內(nèi),網(wǎng)格項(xiàng)自然拉伸以填充可用空間。然而,這種拉伸會(huì)阻止粘性元素有足夠的空間來滾動(dòng)和粘住。

為了解決這個(gè)問題,我們對網(wǎng)格容器應(yīng)用了align-items:start。這可以防止粘性元素被拉伸,確保它有足夠的空間來按預(yù)期發(fā)揮作用:

.sticky-heading {
  position: sticky;
  top: 0; /* Offset not defined - sticky behavior won't activate */
}

如果沒有align-items: start,網(wǎng)格容器將拉伸標(biāo)題以填充可用空間,防止元素粘在視口的頂部。發(fā)生這種情況是因?yàn)闆]有足夠的可滾動(dòng)空間來正確附加元素,如下所示:

Getting sticky with it — Troubleshooting CSS sticky positioning ?

雖然示例顯示了網(wǎng)格的實(shí)現(xiàn),但相同的解決方案也適用于 Flexbox 布局。

粘性元素容器的高度

當(dāng)您與下面的 CodePen 交互并滾動(dòng)視口以觀察粘性行為時(shí),您會(huì)注意到第一個(gè)粘性元素?zé)o法按預(yù)期工作,而第二個(gè)粘性元素可以正常工作 - 即使布局在視覺上看起來相似:

如前所述,為了使粘性元素正常工作,其容器必須有足夠的高度或可滾動(dòng)空間。讓我們仔細(xì)看看容器。在第一個(gè)布局中,粘性元素包含在額外的

中:
article {
  align-items: start;
  /* ... */
}

在下面的 CodePen 中,您可以滾動(dòng)該部分以觀察粘性標(biāo)題現(xiàn)在如何粘貼在該部分本身中。添加了邊框以可視化可滾動(dòng)區(qū)域:

在 body 元素上溢出

在 body 元素上設(shè)置溢出通常不會(huì)像其他祖先元素那樣破壞粘性定位:




<p>這是因?yàn)橹黧w為整個(gè)頁面創(chuàng)建了主要滾動(dòng)上下文,并且在這種情況下,粘性元素仍然相對于視口粘著:</p>

<p><iframe height="600" src="https://codepen.io/ibaslogic/embed/wvVzBJx?height=600&default-tab=result&embed-version=2" scrolling="no" frameborder="no" allowtransparency="true" loading="lazy">
</iframe>
</p>

<p>即使創(chuàng)建了滾動(dòng)機(jī)制,它也不會(huì)像在較小的容器中那樣干擾粘性行為 - 除非設(shè)置溢出:隱藏,這會(huì)消除滾動(dòng)溢出視口的任何內(nèi)容的能力。 </p>

<p>現(xiàn)在我們已經(jīng)介紹了常見的粘性問題,您可以閱讀有關(guān)位置屬性和粘性位置的更一般性概述。</p><h2>
  
  
  職位屬性的簡要概述
</h2>

<p>CSS 位置屬性控制元素在網(wǎng)頁上的定位方式。使用相對、絕對、固定或粘性等值,您可以使用其包含塊或視口中的頂部、右側(cè)、底部和左側(cè)屬性來調(diào)整元素的位置。這些值還使元素能夠使用 z-index 進(jìn)行相對定位。 </p>

<p>但是,請記住,這些偏移屬性(即上、右、下、左)和 z-index 不適用于具有默認(rèn)靜態(tài)定位的元素。 </p>

<p>在解決粘性定位問題時(shí),重新審視粘性值的含義會(huì)??很有幫助。了解其行為可以更清楚地了解常見問題以及如何有效解決這些問題。</p>

<h2>
  
  
  CSS 粘性位置
</h2>

<p>當(dāng)您將position:sticky應(yīng)用到元素時(shí),它的行為類似于相對定位的元素,通過保持其在文檔流中的位置。然而,它也獲得了變得“粘性”并響應(yīng)滾動(dòng)的能力。 </p>

<p>如果您定義了一個(gè)偏移量,例如 top: 10px,則當(dāng)您向下滾動(dòng)時(shí),該元素將粘在該位置,就像使用position:fixed 一樣。對于水平滾動(dòng),您可以使用向左或向右等偏移來實(shí)現(xiàn)類似的效果。值得注意的是,粘性行為僅適用于元素的包含塊內(nèi)。一旦滾動(dòng)超過該塊的邊界,粘性元素就會(huì)像任何普通元素一樣滾動(dòng)消失。 </p>

<p>下面的 CodePen 演示了粘性行為。滾動(dòng)視口以查看正在運(yùn)行的粘性標(biāo)題:</p>

<p><iframe height="600" src="https://codepen.io/ibaslogic/embed/wvVKrrq?height=600&default-tab=result&embed-version=2" scrolling="no" frameborder="no" allowtransparency="true" loading="lazy">
</iframe>
</p>

<p>每個(gè) HTML 標(biāo)題都使用position:sticky和top:0進(jìn)行樣式化,確保當(dāng)您滾動(dòng)內(nèi)容時(shí)它會(huì)粘在視口的頂部。然而,粘性標(biāo)題仍然局限于各自的部分。一旦某個(gè)部分的內(nèi)容完全滾動(dòng)過去,其標(biāo)題就會(huì)向上移動(dòng),從而使下一個(gè)標(biāo)題保持在原位。這表明粘性元素不會(huì)逃離其父容器。</p>

<h2>
  
  
  結(jié)論
</h2>

<p>當(dāng)粘性元素?zé)o法按預(yù)期運(yùn)行時(shí),構(gòu)建網(wǎng)頁可能會(huì)令人沮喪。但是,了解祖先溢出屬性和父容器高度等關(guān)鍵因素可以幫助您解決粘性定位問題。 </p>

<p>通過本指南中的示例和提示,您將能夠確保粘性導(dǎo)航、標(biāo)題和側(cè)邊欄號(hào)召性用語順利工作。如果您發(fā)現(xiàn)本指南有幫助,請隨時(shí)在線分享。如果您有任何問題或貢獻(xiàn),請?jiān)谠u論部分加入我!</p><hr>

<h2>
  
  
  您的前端是否占用了用戶的 CPU?
</h2>

<p>隨著 Web 前端變得越來越復(fù)雜,資源貪婪的功能對瀏覽器的要求越來越高。如果您有興趣監(jiān)控和跟蹤生產(chǎn)中所有用戶的客戶端 CPU 使用情況、內(nèi)存使用情況等,請嘗試 LogRocket。</p>

<p><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/000/173266096142897.jpg" class="lazy" alt="Getting sticky with it — Troubleshooting CSS sticky positioning"></p>

<p>LogRocket 就像網(wǎng)絡(luò)和移動(dòng)應(yīng)用程序的 DVR,記錄網(wǎng)絡(luò)應(yīng)用程序、移動(dòng)應(yīng)用程序或網(wǎng)站中發(fā)生的所有情況。您無需猜測問題發(fā)生的原因,而是可以匯總并報(bào)告關(guān)鍵的前端性能指標(biāo)、重放用戶會(huì)話以及應(yīng)用程序狀態(tài)、記錄網(wǎng)絡(luò)請求并自動(dòng)顯示所有錯(cuò)誤。</p>

<p>現(xiàn)代化調(diào)試 Web 和移動(dòng)應(yīng)用程序的方式 - 開始免費(fèi)監(jiān)控。</p>


          

以上是變得粘性 — CSS 粘性定位故障排除的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

CSS教程,用于創(chuàng)建加載旋轉(zhuǎn)器和動(dòng)畫 CSS教程,用于創(chuàng)建加載旋轉(zhuǎn)器和動(dòng)畫 Jul 07, 2025 am 12:07 AM

創(chuàng)建CSS加載旋轉(zhuǎn)器的方法有三種:1.使用邊框的基本旋轉(zhuǎn)器,通過HTML和CSS實(shí)現(xiàn)簡單動(dòng)畫;2.使用多個(gè)點(diǎn)的自定義旋轉(zhuǎn)器,通過不同延遲時(shí)間實(shí)現(xiàn)跳動(dòng)效果;3.在按鈕中添加旋轉(zhuǎn)器,通過JavaScript切換類來顯示加載狀態(tài)。每種方法都強(qiáng)調(diào)了設(shè)計(jì)細(xì)節(jié)如顏色、大小、可訪問性和性能優(yōu)化的重要性,以提升用戶體驗(yàn)。

解決CSS瀏覽器兼容性問題和前綴 解決CSS瀏覽器兼容性問題和前綴 Jul 07, 2025 am 01:44 AM

處理CSS瀏覽器兼容性和前綴問題需理解瀏覽器支持差異并合理使用廠商前綴。1.了解常見問題如Flexbox、Grid支持不一,position:sticky失效,動(dòng)畫表現(xiàn)不同;2.查閱CanIuse確認(rèn)特性支持情況;3.正確使用-webkit-、-moz-、-ms-、-o-等廠商前綴;4.推薦使用Autoprefixer自動(dòng)添加前綴;5.安裝PostCSS并配置browserslist指定目標(biāo)瀏覽器;6.構(gòu)建時(shí)自動(dòng)處理兼容性;7.老項(xiàng)目可用Modernizr檢測特性;8.不必追求所有瀏覽器一致,確

造型與CSS不同訪問的鏈接 造型與CSS不同訪問的鏈接 Jul 11, 2025 am 03:26 AM

設(shè)置訪問過鏈接的樣式能提升用戶體驗(yàn),尤其在內(nèi)容密集型網(wǎng)站中幫助用戶更好導(dǎo)航。1.使用CSS的:visited偽類可定義已訪問鏈接樣式,如顏色變化;2.注意瀏覽器出于隱私限制僅允許修改部分屬性;3.顏色選擇應(yīng)與整體風(fēng)格協(xié)調(diào),避免突兀;4.移動(dòng)端可能不顯示該效果,建議結(jié)合其他視覺提示如icon輔助標(biāo)識(shí)。

使用CSS剪輯路徑創(chuàng)建自定義形狀 使用CSS剪輯路徑創(chuàng)建自定義形狀 Jul 09, 2025 am 01:29 AM

使用CSS的clip-path屬性可以裁剪元素為自定義形狀,如三角形、圓形缺口、多邊形等,無需依賴圖片或SVG。其優(yōu)勢包括:1.支持circle、ellipse、polygon等多種基本形狀;2.可響應(yīng)式調(diào)整,適配移動(dòng)端;3.易于動(dòng)畫化,可結(jié)合hover或JavaScript實(shí)現(xiàn)動(dòng)態(tài)效果;4.不影響布局流,僅裁剪顯示區(qū)域。常見用法如圓形裁剪clip-path:circle(50pxatcenter)和三角形裁剪clip-path:polygon(50%0%,1000%,00%)。注意

顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什么區(qū)別? 顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什么區(qū)別? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay:inline,block,andinline-blockinHTML/CSSarelayoutbehavior,spaceusage,andstylingcontrol.1.Inlineelementsflowwithtext,don’tstartonnewlines,ignorewidth/height,andonlyapplyhorizo??ntalpadding/margins—idealforinlinetextstyling

CSS繪畫API是什么? CSS繪畫API是什么? Jul 04, 2025 am 02:16 AM

thecsspaintingapienablesdemimageGenerationinCsssingJavascript.1.developersCreateApaintWorkletClassWithaPaint()method.2.theyregisteritviaregisterpaint()。3.thecustompAntFunctionSthenusitySthenusedisthenusedisthenusedIncerspropertieslikeBacknockforg-image-image.thisallows.thisallowsforderforderynamecvis

如何使用CSS創(chuàng)建響應(yīng)式圖像? 如何使用CSS創(chuàng)建響應(yīng)式圖像? Jul 15, 2025 am 01:10 AM

要使用CSS創(chuàng)建響應(yīng)式圖片,主要可通過以下方法實(shí)現(xiàn):1.使用max-width:100%和height:auto讓圖片在保持比例的同時(shí)自適應(yīng)容器寬度;2.結(jié)合HTML的srcset和sizes屬性智能加載適配不同屏幕的圖片源;3.利用object-fit和object-position控制圖片裁剪與焦點(diǎn)展示。這些方法共同確保圖片在不同設(shè)備上清晰、美觀地呈現(xiàn)。

什么是CSS,它代表什么? 什么是CSS,它代表什么? Jul 03, 2025 am 01:48 AM

CSS,orcascadingstylesheets,isthepartofwevelvermentThatControlsawebpage’svisualAppearance,包括colors,fonts,fonts,spacing,and spacing and layout

See all articles