2014-10-29 2 views
0

HTML에서 프레임 세트를 사용하는 방법을 배우려고합니다. 그래서, 나는 친구와 함께 작은 웹 사이트를 시작했다. 다음 페이지 (index.html)에서 13 번째 줄에 "head tag of stray end"라는 오류가 나타납니다. 왜이 오류가 발생합니까?꼬리표 머리 끝

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
    <head> 
     <title>Metal's page</title> 

     <frameset cols = "20%,*" frameborder = "0"> 
      <frame src = "pages/menu.html"> 
      <frameset rows = "10%,*" frameborder = "0"> 
       <frame src = "pages/title.html"> 
       <frame name = "main" src = "index.html"> 
      </frameset> 
     </frameset> 
    </head> 

    <body bgcolor = red> 
     <br/><br/><br/> 
     <p>Hello, my name is Mihai, but one of my best friend call me "Metal". This is our web page. Enjoy!</p> 
     <br/><br/> 
    </body> 
</html> 

웹 사이트 주소 : metalblog.besaba.com 감사합니다!

답변

1

수동으로 유효성 검사기에 DOCTYPE을 무시하고 대신 HTML 4.01 프레임 세트를 사용하도록 지시하지 않는 한 실제로 해당 오류 메시지가 표시되지 않습니다. 당신이 그렇게한다면 당신은 4.01 프레임 셋의 DOCTYPE을 HTML하는 DOCTYPE을 변경 한 경우에는 그래서

하거나, 당신은 오류 발생 <frameset ...>가 암시 적으로 head 요소를 닫기 때문에 "열려 있지"HEAD "요소의 종료 태그"를 얻을 다시 닫을 수 없습니다.

암시 폐쇄하는 이유는 Frameset document에서 frameset 소자는 소자 head대신body 표시 소자이다. 프레임의 내용이 모두 표시되므로 body 요소가 없습니다.

다음 문서의 유효성을 확인 : 나는 frameborder 특성을 제거한

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
         "http://www.w3.org/TR/html4/frameset.dtd"> 
<html> 
    <head> 
     <title>Metal's page</title> 
    </head> 
     <frameset cols = "20%,*"> 
      <frame src = "pages/menu.html"> 
      <frameset rows = "10%,*"> 
       <frame src = "pages/title.html"> 
       <frame name = "main" src = "index.html"> 
      </frameset> 
     </frameset> 
</html> 

참고. HTML 4.01 (또는 다른 HTML 버전)에서는 유효하지 않습니다. 프레임 사이의 테두리를 제거하려면 해당 특성을 사용하고 문서가 유효하지 않음을 수락해야합니다. 적어도 지난 몇 년 동안 프레임이 여전히 일부에서 사용되었을 때, 몇 년 전부터 국경을 제거 할 수있는 방법이 없었습니다. 나는이 점에 변화가 없다고 생각합니다.

0

아마도 프레임 태그를 body 태그가 아닌 head 태그 안에 넣었 기 때문일 수 있습니다. 모든 콘텐츠는 신체에 있어야합니다.

+0

나는 프레임을 머리에 넣어야한다고 말하는 지침서를 따르고있다 –

+0

자습서에 우리를 링크시킬 수 있습니까? – codepuncher

0

우선 프레임 세트를 허용하지 않는 Strict DOCTYPE을 사용하고 있습니다. DOCTYPE 프레임 셋으로 변경하십시오. 오류가 없을 때까지 validator.w3.org을 통해 마크 업을 실행하십시오.

+0

이 다음으로 변경되었습니다. , 그러나 동일한 문제 –

+0

참조 마크 업 확인에 대한 내 의견 – nunzabar

관련 문제