CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

交差点オブザーバーを使用して、要素がCSS位置で固定されるタイミングを検出します:スティッキー


スティッキーな位置の要素にさまざまなCSSスタイルを適用することで、簡単に検出できます。

次の例は、このプロパティを示しています。

<!DOCTYPE html>
<html>
<head>
<style>
#first {
   background-color: lightgrey;
   height: 10px;
}
#navbar-top {
   background-color: lightgrey;
   height: 2px;
}
#container {
   position: sticky;
   top: 0;
   box-shadow: inset 0 0 25px navy;
   height: 55px;
   text-align: center;
   font-size: 24x;
   line-height: 55px;
   font-weight: bold;
   transition: font-size 0.4s ease-in;
}
.sticky-navbar {
   box-shadow: inset 0 0 15px orange!important;
   font-size: 20px !important;
}
#parent-container {
   background-color: aliceblue;
   height: 3300px;
}
</style>
</head>
<body>
<div id="first"></div>
<div id="navbar-top"></div>
<div id="container">Watch Me!</div>
<div id="parent-container"></div>
<script>
let newObserver = new IntersectionObserver(function(entries) {
   if(entries[0].intersectionRatio === 0)
      document.querySelector("#container").classList.add("sticky-navbar");
   else if(entries[0].intersectionRatio === 1)
      document.querySelector("#container").classList.remove("sticky-navbar");
}, { threshold: [0,1] });
newObserver.observe(document.querySelector("#navbar-top"));
</script>
</body>
</html>

出力

これにより、次の結果が生成されます-

交差点オブザーバーを使用して、要素がCSS位置で固定されるタイミングを検出します:スティッキー

交差点オブザーバーを使用して、要素がCSS位置で固定されるタイミングを検出します:スティッキー


  1. CSSでスティッキー要素を作成するにはどうすればよいですか?

    CSSを使用してスティッキー要素を作成するためのコードは、次のとおりです- 例 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style>    body {       font-family: "Segoe UI", Tahoma, Geneva, Verdana

  2. CSSを使用して固定/スティッキーフッターを作成するにはどうすればよいですか?

    CSSで固定フッターを作成するためのコードは次のとおりです- 例 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <style>    body{       font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;