ウェブページを作成するとき、私は常に最初にナビゲーションバーで作業します。これは、潜在的なルートを処理し、ページを上から下にデザインできるようにするためです。このブログでは、少し消える(そして現れる)行為を伴う、よりモダンな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アプリケーションにより多くのフレーバーを与えることを願っています!
facebook.com にリクエストを送信すると、コンピュータはドメイン名を検索してそのドメイン名を IP アドレスに変換し、コンピュータが接続できるようにします。
今日の急速に進化するビジネス環境において、ハイブリッドおよびリモートワークの概念は前例のない勢いを増しています。企業が従業員のニーズや期待の変化に適応し続ける中、さまざまな分野の専門家が集まり、この変革的な働き方のメリット、課題、将来について議論しています。
サイバー愛好家の皆さん、こんにちは!OSINT for Threat Hunting シリーズへようこそ。最初の記事では、OSINT の概要と脅威ハンティングにおけるその重要性について説明しました。
頻繁に起こることだが、突然、私は衝撃を受ける 再びミッドウェイだ <いいえ、太平洋にあるものではなく、カーニバルにあるものです> どの見出しも大音量で…..
新しいキャリアへの転職は、一人でやろうとすると非常に困難になる可能性があります。あなたと同じ学習レベルにあり、同様の目標、粘り強さ、意欲を共有する責任パートナーを見つけることが重要です。