2014-01-14 2 views
7

Table1Header와 Table2Header 사이의 공백을 제거하려고합니다. 나는 국경을 시도했다 : 0px, 패딩 : 0px 및 border-spacing : 0px; 스타일. 파이어 폭스와 오페라는 내 경계 - 간격 스타일이 사용자 에이전트 스타일 (2px)에 의해 무시된다는 것을 알려준다. 브라우저가 내 스타일을 사용하도록하려면 어떻게해야합니까?html 테이블에서 셀 사이의 공백을 제거하는 방법

http://jsfiddle.net/cdjDR/2/

<table class="tableGroup"> 
    <tbody> 
     <tr> 
      <td> 
       <table> 
        <tbody> 
         <tr class="tableHeader"> 
          <td><span class="tableHeader"><label>Table1Header</label></span> 

          </td> 
         </tr> 
         <tr class=" tableData"> 
          <td> 
           <div class="ui-datatable"> 
            <div> 
             <table> 
              <thead> 
               <tr> 
                <th> 
                 <div><span><span class="ui-header-text">Table1Col1</span></span> 
                 </div> 
                </th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr> 
                <td><span>2</span> 

                </td> 
               </tr> 
              </tbody> 
             </table> 
            </div> 
           </div> 
          </td> 
         </tr> 
        </tbody> 
       </table> 
      </td> 
      <td> 
       <table> 
        <tbody> 
         <tr class="tableHeader"> 
          <td><span class="tableHeader"><label>Table2Header</label></span> 

          </td> 
         </tr> 
         <tr class="tableData"> 
          <td> 
           <div class="ui-datatable"> 
            <div> 
             <table> 
              <thead> 
               <tr> 
                <th> 
                 <div><span><span class="ui-header-text" >Table2Col1</span></span> 
                 </div> 
                </th> 
               </tr> 
              </thead> 
              <tbody> 
               <tr> 
                <td><span>12345</span> 

                </td> 
               </tr> 
              </tbody> 
             </table> 
            </div> 
           </div> 
          </td> 
         </tr> 
        </tbody> 
       </table> 
      </td> 
     </tr> 
    </tbody> 
</table> 

span.tableHeader > label { 
    display: inline-block; 
    float:left; 
    line-height:30px; 
    padding-left:10px; 
    color: #202020; 
    font-size: 13px; 
} 
tr.tableHeader { 
    background-color: #EEEEEE; 
} 
table.tableGroup, table.tableGroup > tr > td > table { 
    border-spacing: 0px; 
} 
table.tableGroup div.ui-datatable th > div > span >span.ui-header-text { 
    color: #808080; 
    font-size: 11px; 
} 
table.tableGroup td, table.tableGroup th { 
    padding: 0px; 
    border: 0px; 
} 
+1

'table {border-collapse : collapse; }'아마도 당신이 필요로하는 것입니다. 그러나 그럼에도 불구하고 -1 (이 샘플은 단지 샘플 임)! – Abhitalks

답변

1

을 시도

table.tableGroup, 
table.tableGroup table { 
    border-spacing: 0; 
} 
+0

만약 그가 모든 사람의 국경을 붕괴하려한다면 그가'table.tableGroup table'을 사용한다면 더 좋다. 중첩 된 테이블 ... 또는 더 나은 그냥'테이블 {}'하지만 어쨌든 +1, 나는 그에게 'tbody'가 누락되었다고 말하지 않았다 –

15

쉽게 간단한 요소 선택기로 사용자 에이전트 스타일 시트를 덮어 쓸 수 있습니다 당신은 단순히 border-collapse: collapse; 사용할 수 있습니다 또는 border-spacing: 0;

table { /* Will apply to all tables */ 
    border-spacing: 0; 
    /* OR border-collapse: collapse; */ 
} 

Demo

괜찮습니다. 요 class.tableGrouptable 중첩와 테이블을 대상으로하는대로 스타일을 정상화하려는 경우, 당신은 당신의 선택에 오는 CSS Reset


사용해야


, 나에게 더러운 것 그

table.tableGroup, table.tableGroup > tr > td > table { 
    border-spacing: 0px; 
} 
에서

그래서 당신은 더 나은 브라우저가 border-spacing 스타일 사용자 에이전트 스타일에 의해 무시되는 것을 말하고 있지 않습니다이

table { 
    border-spacing:0px; 
} 

works by using css

+0

내 CSS가 잘못되었습니다. tbody 태그가 누락되었습니다. – user3193136

+0

@ user3193136 그래,하지만 그 선택기를 사용하지 않는 것보다 모든 테이블을 타겟팅하는 경우 –

3

사용 시트. 대신, 그들은 상속이 수행되지 않음을 나타낼 수 있습니다.. 이는 단순히 일부 스타일 시트가 요소의 속성을 설정한다는 사실 때문에 발생합니다.

규칙이 내부 table 요소에 적용되지 않는 이유는 선택자와 일치하지 않기 때문입니다. tr 요소로 나타날 수 있습니다 경우에도 table의 자식이 결코 없기 때문에 선택

table.tableGroup > tr > td > table 

, 그것과 일치하지 않습니다. HTML 구문을 사용하면 시작 및 종료 태그가없는 경우에도 중간에 tbody 요소가 있습니다. 다음 선택은 일치합니다 :

물론
table.tableGroup > tbody > tr > td > table 

뿐만 아니라 일을 할 것입니다 단순한 table 선택, 당신은 모든 table 요소가 규칙에 의해 스타일 싶은 것을 제공했다.

+0

당신은 나를 생각 나게합니다 : –

+0

tnx man .. 경험이 없습니다 .. Stackoverflow에서 배울 수있는만큼 .. 귀하의 답변은 내 것보다 훨씬 낫습니다. 나는 또한 내가 그 일을 할 수 있음을 배웁니다. 고마워 .. –

+0

어려운 감정 :) 우리가 잘못 대답하고 CSS로 이것을해라, 나는 당신의 대답을 upvote 할 것이다 :) –

4

당신이 가진 모든 테이블 태그

예를

<table border="0" cellpadding="0" cellspacing="0"> 

* 예에서 (국경 = "0"의 cellpadding는 = "0"cellspacing는 = "0") 테이블 공물을 추가하셔야합니다 수업 *

<table border="0" cellpadding="0" cellspacing="0" class="tableGroup"> 
+0

이것은 크롬에서 잘 작동합니다 – Tyguy7

관련 문제