300x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Husky
- 프로젝트 카페인
- 유틸함수
- css instead of js
- import정리
- eslint 자동화
- git hooks
- 우테코
- react
- eslint에러 자동fix
- IDL attributes
- 자바스크립트
- webpack
- storybook
- JavaScript
- vscode
- 프로젝트
- chromatic
- CSS
- 성능 베이스캠프
- importOrder
- 클린코드
- prettier 자동화
- 클로저
- 우아한테크코스
- 카페인
- 크로마틱
- string-width
- 협업
- 이슈번호자동화
Archives
- Today
- Total
FEB:)DAIN
CSS만 이용해 모달 열려있을 때만 페이지 스크롤 막기 본문
728x90
if (isOpen) {
document.body.style.overflow = "hidden";
} else {
document.body.style.overflow = "auto";
}
자바스크립트로는 이렇게 모달 상태가 open이면 document.body.style.overflow = "hidden"; 을 함으로써 스크롤을 막을 수 있다. 하지만 자바스크립트 없이 CSS로만 똑같은 기능을 구현할 수 있다.
/* dialog 태그를 사용하고 .showModal() 메서드를 통해 dialog를 열었을 경우 */
body:has(dialog[open]) {
overflow: hidden;
}
/* 모달에 클래스를 넣어 사용할 경우 */
body:has(.modal-open) {
overflow: hidden;
}
GlobalStyle 또는 전체 CSS 스타일에 이 코드를 넣으면 끝이다.
728x90
'코딩 > 사소한 꿀팁' 카테고리의 다른 글
[vscode] 안 쓰는 import 자동 제거하는 방법 (0) | 2023.08.14 |
---|---|
파일 저장시 자동으로 eslint error 고치는 방법 (0) | 2023.07.21 |