1

부트 스트랩 테이블은 col-xs-X 클래스가 정의되어 있어도 그리드를 존중하지 않습니다. 여기 테이블을 부트 스트랩 3에서 그리드로 존중시키는 방법은 무엇입니까?

은 (빨간색) 표는 (회색) 그리드와 일치하지 않는 방법을 보여줍니다 최소한의 예입니다 : 테이블이 컬럼에서 나타나기 때문에 http://jsfiddle.net/fm65v3e0/

.col-xs-1 { 
 
    background-color: #eee; 
 
    border: 1px solid #999; 
 
} 
 

 
th { 
 
    background-color: #fee; 
 
    border: 1px solid red; 
 
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<div class="container"> 
 
    <div class="row"> 
 
    <div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div> 
 
    </div> 
 
    <div class="row"> 
 
    <div class="col-xs-12"> 
 
     <div class="table-responsive"> 
 
     <table class="table"> 
 
      <tr> 
 
      <th class="col-xs-5"> 
 
       5-col header 
 
      </th> 
 
      <th class="col-xs-3"> 
 
       3-col header 
 
      </th> 
 
      <th class="col-xs-4"> 
 
       4-col header 
 
      </th> 
 
      </tr> 
 
     </table> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

그 바깥쪽에 일정량의 패딩이 있습니다. 열에서 패딩을 제거하면 표가 위로 늘어나지 만 물론 열 내의 모든 텍스트는 다음 열에 대해 플러시됩니다.

또한 기본적으로 부트 스트랩 테이블의 너비는 100 %이며 모든 12 개의 열을 사용하지 않으면 "여유 공간"을 할당합니다.

내 사이트가 거의 모든 테이블 형식의 데이터이므로 내 표가 그리드를 존중하지 않으면 그리드를 전혀 사용하지 않는 것처럼 보입니다. 내가 쉽게 해결할 수 있다고 생각하니? 이 문제를 해결하고 해결하는 것이 실수입니까?

+1

코드에 대한 MCV 예제를 제공 할 수 있습니까? (1) 부트 스트랩 내에서 해결할 수 없다면 부트 스트랩 그리드가 작동하는 방식으로 작동하지 않는 고유 한 CSS 규칙을 추가해야합니다 (플로트와 함께 작동 함). (2) 나는 이걸 이해할 수 있는지 모르겠다. MCV https://stackoverflow.com/help/mcve –

+0

Annnd가이 간단한 예제를 가지고 있기 때문에 질문을 새로 작성했다. 내 사이트에 특정 물건 들어가기 : –

답변

1

부트 스트랩 CSS는 col-xx-xx 개의 모든 요소에 padding-right: 15pxpadding-left: 15px을 추가합니다.

패딩을 제거하거나 다시 정의하면 모든 것이 적절하게 정렬됩니다. 아래 이미지는 패딩이 제거되었을 때 Bootply에서 일어나는 일을 보여줍니다.

.no-padding { 
    padding-left: 0; 
    padding-right: 0 
} 

당신이 패딩을 적용하지 않을 요소에 적용 :이 메소드를 오버라이드 (override) 할
enter image description here

한 가지 방법은과 같이 no-padding라는 클래스를 만드는 것입니다. Here's an updated JS Fiddle showing this.

+0

테이블에는 작동하지만 테이블에없는 * 것은 칼럼 가장자리에 대해 플러시됩니다. ("상자"와 상자의 가장자리를 어떻게 만지는지보십시오). 테이블을 포함하는 두 개의 열이 서로 옆에있을 때 그 열 사이에 빈 열을 넣어야한다고 가정합니다. 그래서 모든 칼럼에서 그렇게 할 수 있습니다. 눈금의 여백을 0으로 설정하고 빈 열을 사용하여 내용을 가로로 분리합니다. (실제로 24 열을 사용하도록 부트 스트랩을 사용자 정의하고 있으므로 소리보다 공간 낭비가 적습니다.) 스핀을 줄 것입니다! –

+1

패딩이없는 새 클래스를 만들고이를 테이블에만 적용하고 jsfiddle을 포함하도록 답변을 업데이트했습니다. – Dan

+0

감사합니다. 지금 나는 새로운 그러나 고도의 관련 질문이있다 :) http://stackoverflow.com/questions/39060539/nested-rows-in-bootstrap-3-fail-to-respect-the-grid –

관련 문제