2011-04-18 3 views
0

코드에서 일부 오타가 발견되어 잘못된 코드의 재미있는 예제처럼 로컬 사이트에 게시했습니다. 그리고 어떤 사람들은 때때로이 잘못된 사용법이 맞다고 말했습니다.누군가 잘못된 HTML을 사용하는 이유는 무엇입니까?

누군가이 코드가 필요한 이유를 설명해 주시겠습니까?

<table> 
    <form> 
     <tr> 
      <td></td> 
     </tr> 
    </form> 
    <form> 
     <tr> 
      <td></td> 
     </tr> 
    </form> 
</table> 

그리고 어떤 경우에는 다음 중 더 좋을 수 있습니까?

<table> 
    <tr> 
     <td> 
      <form></form> 
     </td> 
    </tr>   
    <tr> 
     <td> 
      <form></form> 
     </td> 
    </tr> 
</table> 

또는이 :

<form> 
    <table> 
     <tr> 
      <td></td> 
     </tr>   
     <tr> 
      <td></td> 
     </tr> 
    </table> 
</form> 
<form> 
    <table> 
     <tr> 
      <td></td> 
     </tr>   
     <tr> 
      <td></td> 
     </tr> 
    </table> 
</form> 

----------------- 편집 내가 jsfiddle에 조금 연주 및 HTML 결정을 찾을 수 없습니다, 어쩌면 그것이 이유 일 수도 있습니다. 테이블 기반 UI 정렬 -

http://jsfiddle.net/WcvFj/3/

는하지만 난 여전히 JS 또는 CSS 방식이 서로 일치하는 두 개의 폼 요소를 얻을 수있는 방법이다

답변

5

그리고 어떤 사람들은 때때로이 잘못된 사용법이 맞다고 말했습니다.

정의에 따르면 잘못된 코드가 올바르지 않습니다.

이 코드가 필요한 이유를 설명해 주시겠습니까?

행당 하나의 셀을 사용합니까? 절반의 정당한 이유도 없습니다. 테이블 형식의 데이터가 아니기 때문에 처음에는 테이블이 없어야합니다.

행당 여러 개의 셀이있는 경우 행당 하나의 양식을 가질 수 있으면 좋을 것입니다 ("이 항목 편집"작업의 경우). 각 입력에 고유 한 이름을 부여하고 클릭 한 제출 단추 만 성공할 것이므로 제출할 단추를 기반으로 처리 할 행을 결정할 수 있으므로 이름/값 쌍을 제출해야하므로 필요하지 않습니다. 서버에 연결).

+0

내가 마지막으로 제안하는 것을 좋아합니다. 감사합니다. – llamerr

4

더 좋을 것이라고 생각합니다. 이전에는 CSS가 브라우저에서 널리 지원되기 전에 꽤 많이 사용되었습니다.

오늘은 CSS에서 원하는 마크 업을 사용합니다.

2

내가 아는 한 예제 1은 단순히 유효한 html이 아닙니다. 검사기를 통해 실행 해보십시오. 그러나 대부분의 브라우저는 신경 쓰지 않을 정도로 용서할 것입니다.

예제 2와 3은 절대적으로 좋습니다. 개인적으로 대부분의 경우 예제 3을 사용하여 "속한"모든 내용을 form 태그 내의 양식에 래핑합니다.