티스토리 뷰
728x90
반응형
안녕하세요 찐망고입니다.
아.. 정말 매일매일 포스팅하시는 분 리스펙
바쁘니까 바로 본론에 들어가서
적응형 사이트를 만들다보면 pc와 mobile사이트를 따로 작업하게 되는데,
pc의 해상도 기준을 최소 1366정도 잡거든요..
그 이하 해상도에선 가로스크롤이 생기게요~
문제는 header가 position: fixed인 경우 width길이만큼 고정이 되어버린다는 거죠~
가로 스크롤을 이동해도 헤더는 움직이지 않습니다
저걸 무시하고 마크업 하는 분들도 있고,
움직이게는 했는데 전체 메뉴가 보이지 않게 셋팅한 사이트들도 많더라구요
이렇게 가로스크롤을 해도 nav가 제대로 보이는 게 좋겠죠?
// HTML
<header>
<div class="header-in">
<h1>제목</h1>
<nav></nav>
</div>
</header>
// CSS
header {
position: fixed;
width: 100%;
z-index: 99;
}
.header-in {
position: relative;
left: 0;
width: 100%;
max-width: 1420px;
margin: 0 auto;
}
// JS
window.addEventListener('scroll', () => {
const bwLeft = window.scrollX;
document.querySelector('.header-in').style.left = `-${bwLeft}px`;
});
다양한 방법이 있지만
.header-in에 스크롤 이동한 값만큼 left값으로 받아 받은 값 만큼 이동하는 걸로 작업해 보았습니다.
개인적으로는 transform: translateX값으로 받는걸 더 추천해요
아래글을 읽으면 더 이해가 쉬울 거에요
https://ykss.netlify.app/translation/ten_tips_for_better_css_transitions_and_animations/
9번글을 참고하세요
// CSS
header {
position: fixed;
width: 100%;
z-index: 99;
}
.header-in {
width: 100%;
max-width: 1420px;
margin: 0 auto;
transform: translateX(0);
}
// JS
window.addEventListener('scroll', () => {
const bwLeft = window.scrollX;
document.querySelector('.header-in').style.transform = `translateX(-${bwLeft}px)`;
});
728x90
반응형
'WEB > JS코드' 카테고리의 다른 글
JS) 숫자 카운트 setInterval(), setTimeout(), toLocaleString(); (0) | 2023.06.28 |
---|---|
js) 스크롤 이벤트 - offsetTop과 scrollY (0) | 2023.06.19 |
JS) 타이핑하며 나오는 텍스트효과 (0) | 2023.06.09 |
JS) Array.from()을 이용, html요소의 index값을 받아보자 (0) | 2023.06.08 |
JS) 숫자 카운트 setInterval(), setTimeout() (0) | 2023.06.07 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- uxdesign
- 자바스크립트숫자카운트
- UI디자인
- 프로그래밍기초
- JavaScriptTips
- margin
- 웹디자인
- css
- uiux
- JavaScript
- 스마트폰해상도
- css그리드
- 시멘틱마크업
- 반응형웹
- uidesign
- css4
- 코딩교육
- Slick
- 디자인팁
- CSS3
- Border
- slickAPI
- 슬라이드플러그인
- 웹접근성
- padding
- boxmodel
- 피그마플러그인
- 웹표준
- 포토샵합성
- 크로스브라우징
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
글 보관함