편집 - 기존 제목 : 달성하는 다른 방법이 있습니까 border-collapse:collapse
에서 CSS
(A 붕괴, 둥근 모서리 테이블을 위해)은?
단순히 테이블의 경계를 무너 뜨려도 근본 문제가 해결되지는 않기 때문에 토론을 더 잘 반영하도록 제목을 업데이트했습니다.
CSS3
border-radius
속성을 사용하여 모서리가 둥근 테이블을 만들려고 합니다. 내가 사용하는 테이블 스타일은 다음과 같습니다.
table {
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:10px
}
여기 문제가 있습니다. 또한 border-collapse:collapse
속성 을 설정하고 싶을 때 border-radius
더 이상 작동하지 않습니다. border-collapse:collapse
실제로 사용하지 않고 동일한 효과를 얻을 수있는 CSS 기반 방법 이 있습니까?
편집 :
여기서 문제를 보여주기 위해 간단한 페이지를 만들었습니다 (Firefox / Safari 만 해당).
문제의 대부분은 테이블을 둥근 모서리로 설정해도 모서리 td
요소 의 모서리에 영향을 미치지 않는 것 같습니다 . 테이블이 모두 하나의 색상이라면 상단과 하단 td
모서리를 각각 첫 번째와 마지막 행에 대해 반올림 할 수 있기 때문에 문제가되지 않습니다 . 그러나 테이블과 제목을 구분하기 위해 서로 다른 배경색을 사용하므로 내부 td
요소에도 둥근 모서리가 표시됩니다.
제안 된 솔루션 요약 :
둥근 모서리가있는 다른 요소로 테이블을 둘러싸면 테이블의 정사각형 모서리가 "블리드"되므로 작동하지 않습니다.
테두리 너비를 0으로 지정하면 테이블이 축소되지 않습니다.
td
셀 간격을 0으로 설정 한 후 아래쪽 모서리가 여전히 사각형입니다.
대신 JavaScript를 사용하면 문제를 피할 수 있습니다.
가능한 해결책:
테이블은 PHP로 생성되므로 각 외부 th / td에 다른 클래스를 적용하고 각 코너를 개별적으로 스타일 지정할 수 있습니다. 매우 우아하지 않고 여러 테이블에 적용하기가 약간 어려우므로 제안하지 마십시오.
가능한 해결책 2는 JavaScript (특히 jQuery)를 사용하여 모서리의 스타일을 지정하는 것입니다. 이 솔루션도 작동하지만 여전히 찾고있는 것이 아닙니다 (나는 까다 롭습니다). 두 가지 예약이 있습니다 :
- 이것은 매우 가벼운 사이트이며 JavaScript를 최소한으로 유지하고 싶습니다.
- 국경 반경을 사용하는 것이 저에게있어 호소력의 일부는 우아한 저하와 점진적인 향상입니다. 모든 둥근 모서리에 테두리 반경을 사용하여 CSS3 가능 브라우저에서 일관된 둥근 사이트를 만들고 다른 사용자에게는 일관된 정사각형 사이트를 원합니다 (IE를보고 있습니다).
오늘 CSS3 로이 작업을 수행하려고하면 불필요하게 보일 수 있지만 이유가 있습니다. 또한이 문제는 CSS3 지원이 좋지 않은 w3c 사양의 결과이므로 CSS3이 더 광범위하게 지원되는 경우 모든 솔루션이 여전히 관련성이 있고 유용 할 것이라고 지적하고 싶습니다.