CSS-오버플로 : 스크롤; -항상 세로 스크롤 막대를 표시 하시겠습니까?


224

그래서 현재 나는 :

#div {
  position: relative;
  height: 510px;
  overflow-y: scroll;
}

그러나 일부 사용자에게는 더 많은 콘텐츠가 있다는 것이 분명하다고는 생각하지 않습니다. 내 div에 실제로 더 많은 내용이 포함되어 있다는 것을 모르고 페이지를 아래로 스크롤 할 수 있습니다. 높이 510px를 사용하여 일부 텍스트를 잘라내어 일부 페이지에서 더 많은 내용이있는 것처럼 보이지만 일부는 작동하지 않습니다.

Mac을 사용하고 있으며 Chrome 및 Safari에서는 마우스가 Div 위에 있고 활발하게 스크롤 할 때만 세로 스크롤 막대가 표시됩니다. 항상 표시하는 방법이 있습니까?


4
음, jsfiddle 에서이 정확한 동작을 재현 할 수 있습니까? 제공 한 CSS는 항상 스크롤 막대를 강제로 표시해야합니다.
sg3s

1
예, 다른 CSS 문제가 발생하여 스크롤 막대가 항상 표시되어야한다고 들립니다. 이것을 감싸는 div의 스타일이 올바른지 확인하십시오.
Shawn Steward

나는 사자를 달리고있다! 어쩌면 그게 다야? 가상 머신을 열고 창 쪽에서 어떤 모습인지 살펴 보겠습니다.
Jambo

1
젠장, 내 나쁜! Lion의 기능입니다. 나는 그것을 사기 전에 내가 무엇을 사고 있는지 읽어야한다 ... 고마워!
Jambo

답변:


386

이 문제를 직접 만났습니다. OSx Lion은 스크롤바를 숨겨서 더 "매끄럽게"보이도록 만들지 만 동시에 문제가 발생합니다. 사람들은 때때로 div에 스크롤 기능이 있는지 여부를 알 수 없습니다.

수정 사항 : CSS에-

::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 7px;
}

::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: rgba(0, 0, 0, .5);
  box-shadow: 0 0 1px rgba(255, 255, 255, .5);
}

필요에 따라 apperance를 사용자 정의하십시오. 출처


6
Safari를 사용하는 iPad에서도 작동합니까? iOS 6.1.3을 실행하는 iPad 2에 있는데 작동하지 않습니다.
crmpicco

6
특정 수업에만 적용 할 수있는 방법이 있습니까?
futbolpal

2
컨테이너 (내 경우에는 <ul>)에 'overflow : auto'를 설정 한 후에 만 ​​나를 위해 일했습니다. 감사!
Rob Campion

8
@ futbolpal 예, 이것은 수업에서 작동하는 것 같습니다. .classname ::-webkit-scrollbar
체이스

4
이것을 수평으로 작동 시키려면 어떻게해야합니까? 가로 스크롤이 아닌 세로 스크롤의 경우 막대가
표시됨

14

iPad Safari webkit-overflow-scrolling: touch;에서 CSS의 어딘가에 NoviceCoding의 솔루션이 작동하지 않습니다 . 솔루션은 모든 발생을 제거 -webkit-overflow-scrolling: touch;하거나 -webkit-overflow-scrolling: auto;NoviceCoding의 솔루션으로 넣 습니다 .


3
CSS와 webkit-overflow-scrolling : touch와 scrollbars를 모두 사용할 수 있습니까?
Julsy

1

이것은 내 테스트에서 iOS 7.1.x의 Safari에서 iPad와 함께 작동하지만 iOS 6에 대해서는 확실하지 않습니다. 그러나 Firefox에서는 작동하지 않습니다. jScrollPane 이라는 크로스 브라우저 호환을 목표로하는 jQuery 플러그인이 있습니다 .

또한 스택 오버플 로에 다른 세부 정보 가있는 게시물중복 되어 있습니다.


5
이 질문은 2 년 전에 iOS6가 존재하기 전에 요청되었습니다.
OGHaza

웹킷은 사파리 크롬 전용입니다. Firefox 특정 엔진을 타겟팅해야합니다
TigerBear

-4

이렇게하면 액세스 할 수 있도록 스크롤해야하는 윈도우 내에 컨텐츠가있을 때 스크롤 막대가 항상 표시되며 Mac의 모든 윈도우와 모든 앱에 적용됩니다.

 Apple 메뉴에서 시스템 환경 설정을 실행하십시오. "일반"설정 패널을 클릭하십시오. '스크롤 막대 표시'를 찾아 "항상"옆에있는 라디오 박스를 선택하십시오. 완료되면 시스템 환경 설정을 닫으십시오


18
이것은 일종의 질문에 대답하지만 서버 측을 수정하는 것이 아니라 클라이언트 측 수정입니다. 따라서 웹 페이지 사용자가해야 할 일이며, stackoverflow는 프로그래밍 사이트이므로 사람들은 일반적으로 사용자가 브라우저 설정을 변경하는 방법이 아닌 코드 솔루션을 찾기 위해 여기에옵니다.
Eric Leschinski
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.