• 회원가입
  • 로그인
  • 구글아이디로 로그인

[scroll] CSS - scrollbar-gutter 속성 ★ - 스크롤바 자리 위한 공간 지정 (= scrollbar-gutter속성 = 스크롤바거터속성) ※ 홈페이지 (떨림/흔들림) 방지 ※ 레이아웃 이동 방지

목차
  1. scrollbar-gutter 예제 - 스크롤바 자리 위한 공간 지정
  2. scrollbar-gutter 정의
  3. scrollbar-gutter 구문
  4. 홈페이지 떨림 흔들림 방지 방법 3가지

 

scrollbar-gutter 예제 - 스크롤바 자리 위한 공간 지정

 

<style>

.box {

  width: 200px;

  height: 150px;

  overflow-y: auto;

  border: 1px solid #ccc;

  margin-bottom: 20px;

}


.auto {  scrollbar-gutter: auto; }

.stable {  scrollbar-gutter: stable; } 

.stable_both_ediges {  scrollbar-gutter: stable both-edges; }     

</style>


<div class="box auto">

홈짱닷컴 Homzzang.com 홈페이지 제작관리 배우기<BR>

HTML CSS JavaScript jQuery   PHP SQL 등<BR>

</div>


<div class="box stable"> 

홈짱닷컴 Homzzang.com 홈페이지 제작관리 배우기<BR>

HTML CSS JavaScript jQuery   PHP SQL 등<BR>

</div>


<div class="box stable_both_ediges"> 

홈짱닷컴 Homzzang.com 홈페이지 제작관리 배우기<BR>

HTML CSS JavaScript jQuery   PHP SQL 등<BR>

</div>


결과보기

 

scrollbar-gutter 정의

 

콘텐츠 옆에 스크롤바를 위한 공간을 예약할지 여부와, 이 공간에 스크롤바가 없을 때 배경을 어떻게 처리할지 지정

 


 

1.

  • scrollbar-gutter:stable 사용하면 스크롤바가 필요할 때를 대비하여 항상 스크롤바의 너비만큼 공간을 유지함. 스크롤바가 없어도 해당 공간은 여백(gutter)으로 남아있게 되므로, 스크롤바가 나타나도 콘텐츠가 밀리지 않아 홈페이지 흔들림 증상 방지 가능..
  • scrollbar-gutter:stable both-edges 사용하면 흔들림 방지하면서 콘텐츠를 중앙에 배치하는 경우에도 도움 됨.

 

2.

  • 기본값: auto
  • 적용대상: 스크롤링 되는 박스
  • 상속여부: X
  • 계된된값: 명시된 대로
  • 애니유형: 불연속

 

3.

주요 최신 브라우저 모두 지원.

 

4.

MDN scrollbar-gutter 예제 보기

https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/scrollbar-gutter

 

 

scrollbar-gutter 구문

 

selector { scrollbar-gutter : auto | stable | stable both-edges | inherit | initial | unset | revert | revert-layer; }

 


[매개변수]

 

auto

스크롤바 필요시에만 공간 확보. (기본값)

  • 레이아웃 이동 증상 발생 가능.

 

stable

항상 스크롤바 위한 공간 확보. 

  • 레이아웃 이동 증상 발생 방지.

 

stable both-edges

stable 설정된 경우, 스크롤바가 나타나지 않아 남는 거터 공간을 반대쪽 가장자리(Edge)에도 추가.

  • 레이아웃 이동 증상 발생 방지하면서 콘텐츠를 시각적으로 중앙에 배치 위한 목적임.

 

PS. 나머지 속성값은 전역속성값 임.

 

홈페이지 떨림 흔들림 방지 방법 3가지

[방법1] - scrollbar-gutter:stable 사용 (최선책)

HTML의 루트 요소(또는 스크롤바가 있는 컨테이너 또는 body)에 적용.

  

:root { scrollbar-gutter: stable; } /* 또는 body에 적용 */

또는,
:root { scrollbar-gutter: stable both-edges; } /* 또는 body에 적용 */



[방법2] - overflow-y:scroll 사용 (차선책)

페이지 내용의 길이에 관계없이 항상 수직 스크롤바를 보이도록 강제하여 스크롤바의 유무로 인한 너비 변화를 원천적으로 방지


body { overflow-y: scroll; }

 

단점: 내용이 짧아도 항상 스크롤바가 보여서 시각적으로 안 깔끔함.


[방법3]

100vw (Viewport Width)는 스크롤바를 포함한 전체 뷰포트 너비를 의미하며, 100%는 부모 요소의 너비에서 스크롤바 너비를 제외한 영역을 의미합니다. 이 차이를 이용해 중앙 정렬된 콘텐츠의 레이아웃 이동을 방지할 수 있음.

 

html {

    /* 스크롤바가 나타나면 100vw - 100% 만큼의 여백이 생겨

       콘텐츠가 오른쪽으로 이동하는 것을 상쇄함. */

    margin-left: calc(100vw - 100%);

    margin-right: 0;

}

 

PS. 주의: 이 방법은 중앙 정렬된 레이아웃에서 주로 사용되며, 다른 레이아웃 방식에서는 예상치 못한 문제가 발생할 수 있음.

 


분류 제목
intro CSS - 정의・장점・구문・초기화 + 주석
intro CSS - 발전사 (CSS1 → CSS2.01 → CSS) + 제작관리 단체
intro CSS - 스타일 적용 방법 3가지 ★★★ - (인라인스타일 / 내부스타일 / 외부스타일) CSS적용순서 +…
selector CSS - 선택자 (Selector) 종류 + 선택자에 사용가능한 문자 (= 선택자 이름짓기 주의사항)
selector CSS - ID선택자, class선택자 + CSS우선순위 ★★★ (= 아이디선택자, 클래스선택자, CSS명시…
selector CSS - * 전체선택자 - 모든 요소 선택. (요소선택자군) ※ 아스테리크 (asterisk) 선택자 = …
selector CSS - element 요소선택자 ★ - 지정 요소 선택. (요소선택자군)
selector CSS - element,element 병렬선택자 ★ - 쉼표로 나열된 여러 요소 선택. (= 여러 요소선택…
selector CSS - element element 자손선택자 ★ - 자손요소 (요소선택자)
selector CSS - element>element 자식선택자 ★ - 직접 자식요소만 선택. (요소선택자, IE7)
selector CSS - element+element 인접선택자 ★★ - 바로 뒤 인접형제요소 (요소선택자, IE7) + …
selector CSS - element~element 형제선택자 ★★ - 지정요소 뒤의 모든 특정형제요소 (요소선택자군…
selector CSS - [attribute] 속성선택자 - 특정 속성 보유 요소 (IE7) ※ 여러 속성 보유 선택자
selector CSS - [attribute=value] 속성선택자 - 지정속성값보유요소 선택 (IE7) ※ 특정 (속성/…
1/27
목록
찾아주셔서 감사합니다. Since 2012