Get Yourself ASweetReactNavBar🍫

ウェブページを作成するとき、私は常に最初にナビゲーションバーで作業します。これは、潜在的なルートを処理し、ページを上から下にデザインできるようにするためです。このブログでは、少し消える(そして現れる)行為を伴う、よりモダンなNavBarデザインを作成するためのきちんとした方法を紹介します。

ガラス射👓

Glass Morphicの魅力で、デザインの未来に飛び込む準備をしてください!

現代のデザイントレンドは、ガラスの形態、つまり、多くの主要なOSUIの間で普及しているすりガラスの外観です。この外観を実現するには、CSSのトリックが1つ必要です— backdrop-filter。

以下のコードは、使用する必要のあるCSSプロパティとフィルターを示しています。

backdrop-filter: blur(20px)

今、あなたは私を見ます、今あなたは見ません!✨

ナビゲーションバーが潜在的なフルビューをブロックすることなく、ユーザーにWebサイトまたはWebアプリケーションを体験してもらいたい場合、これは最適なソリューションの1つです。

下向きのスクロールで消え、上向きのスクロールで表示されるナビゲーションバーを作成します。これは、いくつかのバニラJSとReactフックを使用して実現しています。

まず、以下に示すように、とをインポートuseStateしuseEffect、状態を設定する必要があります。

import React, { useState, useEffect } from 'react';
import '../../styling/navbar.css';

const NavBar = () => {  
  const [prevScrollPos, setPrevScrollPos] = useState(0);  
  const [visible, setVisibile] = useState(0);
return (
    ...
  )
}

import React, { useState, useEffect } from 'react';
import '../../styling/navbar.css';

const NavBar = () => {  
  const [prevScrollPos, setPrevScrollPos] = useState(0);  
  const [visible, setVisibile] = useState(0);
const navbarStyles = { transition: 'top 0.6s' }
return (
    <div className='nav-bar' style={{ ...navbarStyles, top: visible ? '0' : '-100px' }}>
    ...
  )
}

デバウンス⛹🏼

クールなナビゲーションバー機能を作成するために、vanillajsで記述されたヘルパーメソッドを使用します。次に、これをNavBarコンポーネントにインポートして利用します。以下は、ヘルパーメソッドのコードです。

export function debounce(func, wait, immediate) { 
  let timeout; 
  return function() {  
    let context = this, args = arguments;  
    let later = function() {   
      timeout = null;   
      if (!immediate) func.apply(context, args);  
    };  
    let callNow = immediate && !timeout;  
    clearTimeout(timeout);  
    timeout = setTimeout(later, wait);  
    if (callNow) func.apply(context, args); 
  };
};

ここで、引数としてhandleScroll使用debounceしuseEffect、出現および消滅する行為を管理する関数を作成する必要があります。

import React, { useState, useEffect } from 'react';
import { debounce } from '../../utilities/helpers;
import '../../styling/navbar.css';

const NavBar = () => {  
  const [prevScrollPos, setPrevScrollPos] = useState(0);  
  const [visible, setVisibile] = useState(0);
const navbarStyles = { transition: 'top 0.6s' }
const handleScroll = debounce(() => {
    const currentScrollPos = window.pageYOffset;
    setVisibile((prevScrollPos > currentScrollPos && prevScrollPos - currentScrollPos > 70) || currentScrollPos < 10);
    setPrevScrollPos(currentScrollPos);  
  }, 100)
useEffect(() => {    
    window.addEventListener('scroll', handleScroll);    
    return () => window.removeEventListener('scroll', handleScroll);
  }, [prevScrollPos, visible, handleScroll]);
return (
    <div className='nav-bar' style={{ ...navbarStyles, top: visible ? '0' : '-100px' }}>
    ...
  )
}

この小さなブログが独自のナビゲーションバーを設計する際に役立ち、WebサイトやWebアプリケーションにより多くのフレーバーを与えることを願っています!

提案された投稿

ドメイン名に関する情報の検索

Brian P. Hogan 著『Small, Sharp Software Tools』からの抜粋

ドメイン名に関する情報の検索

facebook.com にリクエストを送信すると、コンピュータはドメイン名を検索してそのドメイン名を IP アドレスに変換し、コンピュータが接続できるようにします。

脳卒中の壊滅的な結果を避ける: 家族の旅から学ぶ 。

脳卒中の壊滅的な結果を避ける: 家族の旅から学ぶ 。

はじめに 脳卒中は、いつでも誰でも起こり得る医療上の緊急事態です。これは、脳の一部への血流が中断され、脳機能が突然失われることで発生します。

関連記事

職場革命: 一流の専門家がハイブリッド ワークとリモート ワークについて語る

職場革命: 一流の専門家がハイブリッド ワークとリモート ワークについて語る

今日の急速に進化するビジネス環境において、ハイブリッドおよびリモートワークの概念は前例のない勢いを増しています。企業が従業員のニーズや期待の変化に適応し続ける中、さまざまな分野の専門家が集まり、この変革的な働き方のメリット、課題、将来について議論しています。

脅威ハンティングのための OSINT の収集

脅威ハンティングのための OSINT の収集

サイバー愛好家の皆さん、こんにちは!OSINT for Threat Hunting シリーズへようこそ。最初の記事では、OSINT の概要と脅威ハンティングにおけるその重要性について説明しました。

代名詞は超怖い

頻繁に起こることだが、突然、私は衝撃を受ける 再びミッドウェイだ <いいえ、太平洋にあるものではなく、カーニバルにあるものです> どの見出しも大音量で…..

待ちの季節にできること(テクノロジー業界での最初の仕事に就くのを待っているとき)

待ちの季節にできること(テクノロジー業界での最初の仕事に就くのを待っているとき)

新しいキャリアへの転職は、一人でやろうとすると非常に困難になる可能性があります。あなたと同じ学習レベルにあり、同様の目標、粘り強さ、意欲を共有する責任パートナーを見つけることが重要です。