Dev/React
Gatsby 블로그 상단 메뉴바 고정시키기 /개발 블로그 제작기
구 불출
2021. 11. 10. 21:09
반응형
스크롤을 내리면 상단바도 같이 올라가서 고정 시켜보려 한다.
CSS 의 position 속성중 fixed를 사용할 것이다
fixed로 설정하면 부모 엘리먼트로부터 독립되어 내가 위치에 자유롭게 배치시킬 수 있게 되고
브라우저 화면을 스크롤 해도 영향을 받지 않는다.
우선 styled를 import 해주고
import styled from "styled-components"
스타일을 지정할 컴포넌트를 만들고 position 속성을 추가한다
const HeaderStyle = styled.header`
position: fixed;
`;
내가 원하는 위치까지 설정을 해주고
상단 메뉴바를 지금 만든 컴포넌트로 만들어주면
스크롤을 내려도 상단 메뉴바는 고정되어있는것을 확인할 수 있다.
import * as React from "react"
import { Link } from "gatsby"
import styled from "styled-components"
const HeaderStyle = styled.header`
position: fixed;
top: 0;
width: 100%;
background-color: #d3d3d3;
z-index: 2;
`;
const HeaderTitleBox = styled.div`
max-width: 960;
padding: 1.5rem 3rem;
`;
const HeaderTitle = styled(Link)`
font-size: 2.2rem;
font-weight: bold;
`;
const Header = ({ siteTitle }) => (
<HeaderStyle>
<HeaderTitleBox>
<HeaderTitle to="/">
{siteTitle}
</HeaderTitle>
</HeaderTitleBox>
</HeaderStyle>
)
export default Header
반응형