Twitter 부트 스트랩 테이블의 너비가 항상 100 % 인 이유는 무엇입니까?


148

이 마크 업을 가정 해보십시오.

<table class="table table-bordered" align="center"> 

내가 얼마나 많은 셀을 가지고 있더라도 테이블은 항상 100 % 너비입니다. 왜 그래?


3
부모 너비를 효율적으로 사용하기 때문입니다. 이것이 그리드 시스템의 작동 방식입니다!
Vishal

테이블 너비는 얼마입니까?
Andres Ilich

1
나는 그냥 일반 테이블처럼 세포의 수에 의존했다 싶습니다
skowron 온라인

1
span을 통해 div 너비와 같은 셀 너비를 설정하는 방법을 찾는 사람들은 이 답변을
alexche8

답변:


228

부트 스트랩 내의 모든 테이블은 컨테이너에 따라 늘어나 .span*므로 원하는 그리드 요소 안에 테이블을 배치하여 쉽게 수행 할 수 있습니다 . 이 속성을 제거하려면 고유 한 테이블 클래스를 만들고 간단히 다음과 같은 내용으로 확장하려는 테이블에 테이블 클래스를 추가하면됩니다.

.table-nonfluid {
   width: auto !important;
}

이 클래스를 자신의 스타일 시트 안에 추가하고 간단히 다음과 같이 테이블 컨테이너에 추가 할 수 있습니다.

<table class="table table-nonfluid"> ... </table>

이렇게하면 변경 사항이 부트 스트랩 스타일 시트 자체에 영향을 미치지 않습니다 (문서의 다른 곳에 유동 테이블이 필요할 수 있습니다).


1
span * 태그 안에 테이블을 배치하면 테이블을 중앙에 배치하기 위해 오프셋 *도 포함 하시겠습니까?
HPWD

@dlackey 네, 당신은 테이블을 중심으로하기 위해 클래스로 오프셋 할 수 있으며, 클래스에 테이블을 추가하여 .span*너비를 줄 수도 있습니다.
Andres Ilich

2
적어도 부트 스트랩 3 !important에서는width: auto
geekQ

우리는 테이블에 bootstarp의 span 클래스를 사용하거나 .span 클래스의 스타일을 수동으로 제공해야합니다.
Jot Dhaliwal

1
경고. .table-responsive 및 .table-border와 함께 사용하는 경우주의하십시오. 화면 너비가 767px 미만이면 테두리가 .table-responsive 컨테이너에 적용됩니다. (bootstrap 3.x)
Stuart



13

답변 # 1 :

왜 싸워? 부트 스트랩 그리드를 사용하여 테이블 너비를 간단하게 제어 해보십시오. 이것은 부트 스트랩 3 마크 업입니다.

<div class="row">
    <div class="col-sm-6">
        <table></table>
    </div>
</div>

포함하는 요소 너비의 절반 (12/6)의 테이블이 생성됩니다.

때로는 다른 답변에 따라 인라인 스타일을 사용하지만 권장하지 않습니다.

답변 # 2 :

부트 스트랩 4를 사용하는 경우 너비와 같은 멋진 도우미 클래스가 있습니다.

w-25, w-50, w-75, and w-100

문서는 다음과 같습니다. https://getbootstrap.com/docs/4.0/utilities/sizing/


2
이것은 지금까지 가장 간단한 해결책이며 정답입니다
Jeff Brown

12

나는 같은 문제가 있었고 테이블을 수정 한 다음 내 td 너비를 지정했다. 당신이 일을하면 당신도 할 수 있습니다.

<style>
table {
table-layout: fixed;
word-wrap: break-word;
}
</style>

<td width="10%" /td>

나는 .table-nonfluid와 함께 운이 없었습니다.


1
시도width: auto !important;
Leo

피할 수 있습니다 !important( 나쁜 습관입니다 ). 아래 답변대한 의견을 참조하십시오 .
Ollie Bennett

3

나는 추가 style="width: auto !important"하고 나에게 훌륭하게 작동했습니다!


1
사용자 정의 CSS가 Bootstrap CSS 다음에 표시되도록하는 경우 (예 : 사용자 정의 스타일 <link>태그가 Bootstrap 태그 아래<link>표시됨) 규칙이 설계된대로 계단식 으로 표시되므로 !important예외를 전혀 사용할 필요가 없습니다 . 이것은 Bootstrap CSSwidth: 100%;정의 되어 있으므로 규칙을 대체하기 때문에 사실입니다 . tablewidth: auto;
Ollie Bennett

실제로 대답은 아니지만 대부분의 사람들이 읽은 현재 허용되는 대답을 편집하는 것이 좋습니다 (지금 편집했습니다) .
Iulian Onofrei
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.