2012-09-20 9 views
0

우리는 전체 웹 사이트를 다시 진행하는 중입니다. 현재 웹 사이트는 7 살이지만 Webkit 기반 브라우저 (Chrome 및 Safari)에만 나타나는 CSS 버그가있는 것으로 보입니다. 새 사이트가 준비되기까지 어느 정도 시간이 걸릴 수 있으므로 버그를 수정하고 싶습니다.Webkit은 테이블의 고정 폭을 계속 변경합니다

우리는 고정 폭 테이블이 :

<table width="1000" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF"> 
    <tr> 
     <td class="left" width="200" valign="top"> 
      Contents of the menu here. 
     </td> 
     <td valign="top"> 
      <table width="100%" border="0" cellspacing="0" cellpadding="0"> 
       Contents of website here. 
      </table> 
     </td> 
    </tr> 
</table> 

다음과 같이 관련 요소와 클래스의 CSS는 다음과 같습니다

td { 
    font-size: 11px; 
} 

td.left { 
    width: 200px; 
    padding-top: 50px; 
    background-color: #EFEFEF; 
} 

td.top { 
    height: 16px; 
    align: right; 
    padding-bottom: 2px; 
} 

문제는 웹킷 클래스로 TD을 계산이다 왼쪽으로은 200 픽셀 대신 161 픽셀이됩니다. style="display: block" 또는 style="min-width: 200" 중 하나를 추가하여이 문제를 해결할 수 있습니다.하지만 그렇게하면 Webkit은 첫 번째 테이블의 크기를 1000 픽셀이 아닌 1039 픽셀로 변경하여 페이지의 나머지 부분을 전체적으로 이동시킵니다. 고정 너비 요구 사항을 완전히 무시하는 것 같습니다.

웹 사이트의 구조를 크게 변경하지 않고이를 해결할 수있는 방법이 있는지 알고 싶습니다. 필요한 경우 the website in question의 CSS로 놀 수 있습니다. 버그는 크롬Safari에만 나타납니다. 웹킷과 많은 스택 오버 플로우 질문에 대한 많은 버그 리포트를 확인했지만 그 중 아무 것도 내 문제와 잘 맞지 않는 것 같습니다.

+0

저는 이것을 서버에 가져 와서 알아낼 수 있는지 알아 보겠습니다. 잠시만 기다려주세요. 사용중인 문서의 DOCTYPE은 무엇입니까? – Solo

+1

코드를 제 서버에 넣었습니다. 원하는대로 작동합니다. 표는 1000px이고 td.left 요소는 200px입니다. 누락 된 것이 있습니다. – Solo

답변

1

나는 문제가 오른쪽 "스폰서"테이블에있는 이미지라고 생각합니다.

왼쪽 테이블에 최소 너비를 설정하고 "sponsoren"표의 div 태그에 너비 : 150px를 설정하면 나를 위해 작동합니다.

+0

그러면 문제는 그림이 오른쪽으로 겹쳐져 있다는 것입니다.최소 너비를 왼쪽으로 설정하고 "가운데"텍스트의 너비 값을 640에서 490 또는 495로 변경하십시오. – svennergr

+0

문제는 실제로 이러한 이미지와 관련이 있습니다. 그들은 그들이 있던 컨테이너보다 컸다. 그래서 전체 페이지가 기이하게 행동했다. 너비 버그는 여전히 활성화되어 있지만 적어도 왼쪽 패널은 그렇게 이상하게 보이지 않습니다. 당신의 도움을 주셔서 감사합니다! – Rex

0

는 테이블에 클래스 클래스를 추가하려고 :

table.yourclass { 
    width: 1000px !important; 
} 
+0

테이블 너비가 좋으며, 내부 요소의 너비를 강제로 수정하려고하면 바뀝니다. 벌써 퍼팅을 시도했는데, 너비가 지나친 뒤에는 중요하지만 웹 킷이 그것을 따르고 있다고 주장하지만, 계산 된 너비는 항상 다릅니다. – Rex

+0

너는 최대 폭을 시도 했는가? –

+0

예, 효과가 없습니다. 디스플레이를 차단하도록 설정 한 경우에만 효과가 있지만 너비 속성도 효과가 있습니다 (페이지의 나머지 부분은 원래 게시물을 참조하십시오). – Rex

1

와우는 div의 갈 등 초등학교 스크립트에 테이블을 사용하지 마십시오

<div style="width:1000px; background-color:#ffffff; float:left; clear: both;"> 
    <div style="width:200px; float:left;"> 
     Contents of the menu here. 
    </div> 
    <div style="width:800px; float:right;"> 
     Contents of website here. 
    </div> 
</div> 

이 문제를 해결해야한다.

+0

요즘에는 모두가 div를 사용한다는 것을 알고 있습니다. 나는 그것들을 사용한다. 나는이 문제에 직면했을 때 처음 생각했다. 문제는 웹 사이트의 구조를 (테이블에서 div로) 변경하는 것이 아마도 우리에게 꽤 시간이 걸릴 것입니다. 특히 CSS를 올바르게 만들고 싶다면 더욱 그렇습니다. 웹 사이트는 구식이며, 새 웹 사이트를 만드는 데 시간을 할애하고 싶습니다. 그럼에도 불구하고 나는 그것이 얼마나 오래 걸릴지 알아 내려고 노력할 것이다. 감사. – Rex

+1

웹 사이트에 div 콘텐츠를 추가하는 과정에서 천천히 추가 할 때 이상한 점은 없습니다. 특히 프로세스에서 추가 테이블을 제거 할 수 있다면 더욱 그렇습니다. – Peon