태그 보관물: css

css

HTML 테이블에서 테두리를 완전히 제거하는 방법 <td class=”middle”>

내 목표는 “사진 프레임”과 유사한 HTML 페이지를 만드는 것입니다. 즉, 4 장의 사진으로 둘러싸인 빈 페이지를 만들고 싶습니다.

이것은 내 코드입니다.

<table>
    <tr>
        <td class="bTop" colspan="3">
        </td>
    </tr>
    <tr>
        <td class="bLeft">
        </td>
        <td class="middle">
        </td>
        <td class="bRight">
        </td>
    </tr>
    <tr>
        <td class="bBottom" colspan="3">
        </td>
    </tr>
</table>

CSS 클래스는 다음과 같습니다.

.bTop
{
    width: 960px;
    height: 111px;
    background-image: url('../Images/BackTop.jpg');
}
.bLeft
{
    width: 212px;
    height: 280px;
    background-image: url('../Images/BackLeft.jpg');

}

.middle
{
    width: 536px;
    height: 280px;
}

.bRight
{
    width: 212px;
    height: 280px;
    background-image: url('../Images/BackRight.jpg');
}

.bBottom
{
    width: 960px;
    height: 111px;
    background-image: url('../Images/BackBottom.jpg');
}

내 문제는 테이블의 셀 사이에 얇은 흰색 선이 표시된다는 것입니다. 사진의 테두리가 연속적이지 않다는 것을 의미합니다. 이 공백을 어떻게 피할 수 있습니까?



답변

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

그리고 CSS에서 :

table {border: none;}

편집 :
iGEL이 지적 했듯이이 솔루션은 공식적으로 사용되지 않으며 (아직 작동하지만) 처음부터 시작하는 경우 jnpcl의 border-collapse 솔루션을 사용해야합니다.

나는 실제로 지금 까지이 변경을 싫어합니다 (자주 사용하는 테이블에서는 작동하지 않습니다). 일부 작업을 좀 더 복잡하게 만듭니다. 예를 들어 같은 위치에 두 개의 서로 다른 테두리를 포함하려는 경우 (시각적), 한 행은 TOP이고 다른 행은 BOTTOM입니다. 그것들은 무너질 것입니다 (= 그들 중 하나만 보여 질 것입니다). 그런 다음 테두리의 “우선 순위”가 어떻게 계산되고 어떤 테두리 스타일이 “더 강한”(더블 대 솔리드 등)인지 연구해야합니다.

나는 이것을 좋아했다 :

<table cellspacing="0" cellpadding="0">
  <tr>
    <td class="first">first row</td>
  </tr>
  <tr>
    <td class="second">second row</td>
  </tr>
</table>

----------

.first {border-bottom:1px solid #EEE;}
.second {border-top:1px solid #CCC;}

이제 테두리가 축소되면 항상 하나의 테두리가 제거되어 작동하지 않습니다. 나는 다른 방법으로해야합니다 (c의 해결책이 더 있습니다). 한 가지 가능성은 box-shadow와 함께 CSS3를 사용하는 것입니다.

<table class="tab">
  <tr>
    <td class="first">first row</td>
  </tr>
  <tr>
    <td class="second">second row</td>
  </tr>
</table>​​​

<style>
.tab {border-collapse:collapse;}
.tab .first {border-bottom:1px solid #EEE;}
.tab .second {border-top:1px solid #CCC;box-shadow: inset 0 1px 0 #CCC;}​
</style>

하나의 테두리만으로 “groove | ridge | inset | outset”테두리 스타일과 같은 것을 사용할 수도 있습니다. 그러나 두 가지 색상을 모두 제어 할 수 없기 때문에 이것이 최적이 아닙니다.

어쩌면 국경을 무너 뜨릴 수있는 간단하고 멋진 해결책이있을 수 있지만 아직 보지 못했고 정직하게 많은 시간을 보지 못했습니다. 어쩌면 여기 누군가가 나를 보여줄 수있을 것입니다.


답변

table {
    border-collapse: collapse;
}

답변

나를 위해 테이블과 모든 셀에서 테두리를 완전히 제거하기 위해 이와 같은 작업을 수행해야했습니다. 이것은 HTML을 전혀 수정하지 않아도되어 내 경우에 도움이되었습니다.

table, tr, td {
    border: none;
}

답변

부트 스트랩 환경에서는 최상위 답변이 도움이되지 않았지만 다음을 적용하면 모든 경계가 제거되었습니다.

.noBorder {
    border:none !important;
}

다음과 같이 적용됩니다 :

<td class="noBorder">

답변

부트 스트랩 환경에서 내 솔루션은 다음과 같습니다.

    <table style="border-collapse: collapse; border: none;">
        <tr style="border: none;">
            <td style="border: none;">
            </td>
        </tr>
    </table>    

답변

이것이 나를 위해 문제를 해결 한 것입니다.

HTML tr 태그에서 다음을 추가하십시오.

style="border-collapse: collapse; border: none;"

테이블 행에 표시된 모든 테두리가 제거되었습니다.


답변