문제

왜 이것이 나를 그렇게 귀찮게하는지 모르겠지만 웹 사이트를 만들 때 항상 CSS와 함께 모든 스타일링을 시도합니다. 그러나 테이블로 작업 할 때 항상 기억 해야하는 한 가지는 CellSpacing = "0"및 CellPadding = "0"을 추가하는 것입니다.

이러한 구식 HTML 4 속성을 무시할 CSS 속성이없는 이유는 무엇입니까?

도움이 되었습니까?

해결책

셀 스페이스 :

table { border-collapse: collapse; }

에 관해서 셀 패딩, 넌 할 수있어

table tr td, table tr th { padding: 0; }

다른 팁

매트는 이미 대답했지만 완전성을 위해서만 대답했습니다.

  • paddingcellpadding
  • border-spacingcellspacing
  • border-collapse → HTML에 해당하지 않습니다

또한 CSS에 대한 별도의 수평 및 수직 값을 설정할 수 있다는 것을 기억할 가치가 있습니다. border-spacing: 0 1px.

에릭 마이어 스타일 시트를 재설정하십시오 테이블의 다음 '재설정'스타일이 포함되어 있습니다.

/* tables still need 'cellspacing="0"' in the markup */
table {
    border-collapse: collapse;
    border-spacing: 0;
}

또한 TD의 경우 TR이 재설정됩니다.

thead, tr, th, td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

내가 이것을 언급 한 이유는 그가 '테이블에는 여전히 셀 패딩 = 0'이 필요하기 때문입니다. 나는 그가 이것을 이유 때문에 여기에 넣었다고 가정합니다. 아마도 일부 오래된 브라우저가 필요할 것입니다. 이것이 그가 포함한 몇 안되는 의견 중 하나라는 사실로 판단하면, 나는 그것의 중요성을 추측하고 그에 대한 좋은 이유가 있다고 생각합니다.

이 의견을 바탕으로 - 그리고이 의견만으로! - 누군가가 내가 할 필요가없는 이유를 확실히 (아래) 말하지 않는 한, 마크 업에서 CellSpacing = "0"을 계속 사용하고 있습니다. 그러나 요즘 지원할 가치가있는 현대식 브라우저에서는 불필요 할 수 있습니다.

table { border-collapse:collapse; }

누군가가 세포가“나쁜 연습”을 간격으로 간주했다고 생각합니다. CSS2 표준에 포함되어 있지만 IE는이 속성을 지원하지 않습니다. Border-Collapse를 사용하면 간격을 0 값으로 설정할 수 있습니다. 셀 패딩은 패딩 특성을 테이블의 TD 요소로 설정하여 달성 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top