HTML 테이블에 가로 스크롤 막대를 추가하는 방법이 있습니까? 실제로 테이블이 커지는 방식에 따라 세로 및 가로로 스크롤 할 수 있어야하지만 스크롤 막대가 나타나지 않습니다.
HTML 테이블에 가로 스크롤 막대를 추가하는 방법이 있습니까? 실제로 테이블이 커지는 방식에 따라 세로 및 가로로 스크롤 할 수 있어야하지만 스크롤 막대가 나타나지 않습니다.
답변:
CSS overflow
속성 을 사용해 보셨습니까 ?
overflow: scroll; /* Scrollbar are always visible */
overflow: auto; /* Scrollbar is displayed as it's needed */
업데이트
다른 사용자가 지적했듯이 이것은 스크롤 막대를 추가하기에 충분하지 않습니다 .
따라서 아래의 의견과 답변을보고 찬성하십시오.
display: block
.
display: block
테이블을 만들어그런 다음로 설정 overflow-x:
하십시오 auto
.
table {
display: block;
overflow-x: auto;
white-space: nowrap;
}
좋고 깨끗합니다. 불필요한 형식이 없습니다.
다음은 내 웹 사이트의 페이지에서 스크롤 테이블 캡션과 관련된 예제입니다 .
white-space: nowrap;
스크롤바를 즉시 볼 수 있습니다.
white-space: nowrap;
에는 문제를 해결하지 못합니다 (Firefox에서 테스트). 행을 확장 할 내용 (텍스트)이 충분하지 않으면 행 너비가 테이블 너비보다 작습니다.
이를 위해 CSS 속성 " overflow "를 사용하십시오.
짧은 요약:
overflow: visible|hidden|scroll|auto|initial|inherit;
예 :
table {
display: block;
overflow: scroll;
}
위의 솔루션 중 어떤 것도 작동하지 못했습니다. 그러나 나는 핵을 발견했다.
body {
background-color: #ccc;
}
.container {
width: 300px;
background-color: white;
}
table {
width: 100%;
border-collapse: collapse;
}
td {
border: 1px solid black;
}
/* try removing the "hack" below to see how the table overflows the .body */
.hack1 {
display: table;
table-layout: fixed;
width: 100%;
}
.hack2 {
display: table-cell;
overflow-x: auto;
width: 100%;
}
<div class="container">
<div class="hack1">
<div class="hack2">
<table>
<tr>
<td>table or other arbitrary content</td>
<td>that will cause your page to stretch</td>
</tr>
<tr>
<td>uncontrollably</td>
<td>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</td>
</tr>
</table>
</div>
</div>
</div>
이것은 Serge Stroobandt의 답변을 개선 한 것으로 완벽하게 작동합니다. 열이 적을 경우 전체 페이지 너비를 채우지 않는 테이블 문제를 해결합니다.
<style>
.table_wrapper{
display: block;
overflow-x: auto;
white-space: nowrap;
}
</style>
<div class="table_wrapper">
<table>
...
</table>
</div>
white-space: nowrap;
선택 사양 일 것으로 보인다.
나는 같은 문제에 부딪쳤다. Chrome v31에서만 테스트 된 다음 솔루션을 발견했습니다.
table {
table-layout: fixed;
}
tbody {
display: block;
overflow: scroll;
}
나는 이전 솔루션을 기반 으로이 답변을 알아 냈으며 의견 이며 내 자신의 조정을 추가했습니다. 이것은 반응 형 테이블에서 나를 위해 작동합니다.
table {
display: inline-block;
overflow-x: auto;
white-space: nowrap;
// make fixed table width effected by overflow-x
max-width: 100%;
// hide all borders that make rows not filled with the table width
border: 0;
}
// add missing borders
table td {
border: 1px solid;
}
//Representation of table
<div class="search-table-outter">
<table class="table table-responsive search-table inner">
</table>
</div>
//Css to make Horizontal Dropdown
<style>
.search-table{table-layout: auto; margin:40px auto 0px auto; }
.search-table, td, th {
border-collapse: collapse;
}
th{padding:20px 7px; font-size:15px; color:#444;}
td{padding:5px 10px; height:35px;}
.search-table-outter { overflow-x: scroll; }
th, td { min-width: 200px; }
</style>