CSS div 요소-가로 스크롤 막대 만 표시하는 방법?


200

div 컨테이너가 있고 다음과 같이 스타일을 정의했습니다.

div#tbl-container 
{
    width: 600px;   
    overflow: auto;    
    scrollbar-base-color:#ffeaff
}

이 div에 포함 된 테이블을 채우면 가로 및 세로 스크롤 막대가 자동으로 제공됩니다. 가로 스크롤 막대 만 자동으로 나타나기를 원합니다. 프로그래밍 방식으로 테이블 높이를 수정하겠습니다.

어떻게해야합니까?

답변:


277

컨텐츠를 요구할만큼 충분히 크게 만들지 않는 한 가로 및 세로 스크롤 막대를 가져 오지 않아야합니다.

그러나 일반적으로 버그로 인해 IE에서 수행합니다. 다른 브라우저 (Firefox 등)를 확인하여 실제로 브라우저를 수행하는 IE인지 확인하십시오.

IE6-7 (다른 브라우저 중에서도)은 스크롤 막대를 독립적으로 설정하기 위해 제안 된 CSS3 확장을 지원하므로 세로 스크롤 막대를 억제하는 데 사용할 수 있습니다.

overflow: auto;
overflow-y: hidden;

IE8을 추가해야 할 수도 있습니다.

-ms-overflow-y: hidden;

Microsoft는 모든 CR 표준 이전 속성을 IE8 표준 모드에서 자체 '-ms'상자로 옮기겠다고 위협하고 있습니다. (이것이 항상 그렇게한다면 이치에 맞았을 것입니다. 그러나 지금은 모두에게 불편합니다.)

반면에 IE8이 버그를 수정했을 가능성이 있습니다.


세상에, 당신은 내 하루를 구 했어요! 나는 IE 8 사양을 시도하지 않았지만. 이제는 FF & IE-7입니다. 그게 내가 필요한 전부 야 다시 감사합니다!
Satya Kalluri

76

또한 white-space: nowrap;스타일 에 추가 해야했습니다. 그렇지 않으면 요소가 스크롤 기능을 제거하는 영역으로 줄어 듭니다.


8
white-space: nowrap;그것이 없으면 요소가 쌓이거나 감쌀 것입니다.
Ricardo Zea

공백 : 파라미터 nowrap 파이어 폭스, 사파리에서 작동하는 것, 심지어 내가 사업부 디스플레이 내부에있어 이미지와 크롬하지 않습니다 인라인 또는 블록으로

27

이 솔루션은 father div에 대한 높이 / 너비 지정이 없으므로 창 크기 조정에 응답 하고 필요한 경우 가로 스크롤 막대가 가장 유용한 원인이됩니다.

.container{
    padding:20px;
    border:dotted 1px;
    white-space:nowrap;
    overflow-x:auto;
}

.box{
    width:100px;
    height:180px;
    background-color: red;
    margin:10px;
    display:inline-block
}

한 번 봐 가지고 데모를


25

둘 다 표시하려면

<div style="height:250px; width:550px; overflow-x:scroll ; overflow-y: scroll; padding-bottom:10px;">      </div>

X 축 숨기기 :

<div style="height:250px; width:550px; overflow-x:hidden; overflow-y: scroll; padding-bottom:10px;">      </div>

Y 축 숨기기 :

<div style="height:250px; width:550px; overflow-x:scroll ; overflow-y: hidden; padding-bottom:10px;">      </div>

14

당신은 또한 그것을 만들 수 있습니다 overflow: auto및 최대 고정 높이를주고 그런 식으로 폭, 거기에 무엇이든 텍스트 또는, 오버 플로우 경우에만 필요한 스크롤을 보여 드리겠습니다


5

CSS 속성을 사용합니다. 1) " overflow-x: auto"; 2) " overflow-y: hidden"; 3) " white-space: nowrap";

컨테이너와 내부 DIVS 구성 요소 모두에 너비를 설정하는 것을 잊지 마십시오. "white-space : nowrap"속성 은 내부 DIVS가 다른 줄에 떨어지지 않도록합니다.

다음 HTML을 고려하십시오.

<div class="container"> 
  <div class="inner-1"></div>
  <div class="inner-2"></div>
  <div class="inner-3"></div>
</div>

다음 CSS를 사용하여 가로 스크롤 만 사용합니다.

.container {
  height: 80px;
  width: 600px;
  overflow-x: auto;
  overflow-y: hidden; 
  white-space: nowrap;
}
.inner-1,.inner-2,.inner-3 {
  height: 60px;
  max-width: 250px;
 display: inline-block; /* this should fix it */
}

피들 : https://jsfiddle.net/qrjh93x8/ (위 코드에서 작동하지 않음)


공백을 추가했지만 jsfiddle.net/jjq4xgz5/1 작동하지 않습니다 . 감사.
Si8

3

다음을 사용하십시오

<div style="max-width:980px; overflow-x: scroll; white-space: nowrap;">
<table border="1" style="cellpadding:0; cellspacing:0; border:0; width=:100%;" >

1
.box-author-txt {width:596px; float:left; padding:5px 0px 10px 10px;  border:1px #dddddd solid; -moz-border-radius: 0 0 5px 5px; -webkit-border-radius: 0 0 5px 5px; -o-border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px; overflow-x: scroll; white-space: nowrap; overflow-y: hidden;}


.box-author-txt ul{ vertical-align:top; height:auto; display: inline-block; white-space: nowrap; margin:0 9px 0 0; padding:0px;}
.box-author-txt ul li{ list-style-type:none;  width:140px; }

3
답을 설명하십시오.
hims056

1

CSS3 에는 overflow-x속성이 있지만 그에 대한 큰 지원은 기대하지 않습니다. 에서 CSS2 당신이 할 수있는 모든 일반 설정 scroll정책을하고 작업 widthsheights혼란을 최대로하지.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.