2012-05-22 4 views
0

OOP 및 PHP 패턴을 배우기 시작했고 MVC를 사용하여 문제가 발생했습니다. 나는이 다음 파일을브라우저 모드 웹 사이트를 표시합니다.

index.php를

<?php 
    include_once("controller/controller.php"); 

    $controller = new Controller(); 

    $controller->view->display(); 
?> 

controller.php

<?php 
    class Controller 
    { 
     public $view; 

     public function __construct() 
     { 
      include_once("view/view.php"); 
      $this->view = new View(); 
     } 
    } 
?> 

view.php

<?php 
    class View 
    { 
     public $layout = "layout/layout.html"; 

     public function display() 
     { 
      include $this->layout; 
     } 
    } 
?> 
,

layout.html

<!DOCTYPE HTML> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>Dokument bez tytułu</title> 
    <style> 
     body { 
     background-color:#0066CC; 
     margin:0; 
     padding:0; 
     } 
     #page { 
     background-color:#000; 
     width:960px; 
     height:650px; 
     margin:0 auto; 
     } 
    </style> 
    </head> 
    <body> 
    <div id="page"></div> 
    </body> 
</html> 

사람은 나를 설명 할 수있는 이유는 브라우저에 표시 쿼크 모드에서이 웹 사이트? 이것의 최악은 화면 상단의 마진이며, 이는 정말로 성가시다. 이 문제와 해결책에 대한 정보는 기꺼이 제공됩니다.

+1

브라우저에서받은 원시 HTML 및 HTTP 헤더는 무엇입니까? – deceze

+0

div 안에'& nbsp'를 삽입하고 CSS에서 테두리를 사용하여 표시 방법을 확인하십시오. Quirks 모드를 말할 때 CSS가 적용되지 않는 이유는 무엇입니까? –

답변

1

유효한 HTML5 DOCTYPE처럼 보입니다.

<?php 열기 전에 PHP 파일에 불필요한 공백이나 개행이 없는지 확인하십시오. 텍스트 편집기에서 BOM없이 UTF-8 으로 저장하고 있는지 확인하십시오. 윈도우에서는 기본적으로 많은 텍스트 편집기가 BOM (바이트 순서 마커)을 삽입하여 파일의 첫 번째 줄로 화면에 가비지를 보낼 수 있습니다. DOCTYPE 이전의 내용은 쿼크 모드를 트리거합니다.

또한, 나는 style 태그

+0

글쎄, 당신은 BOM에 대한 권리 같아. ** deceze ** 원시 HTML 및 HTTP 헤더를 요청했습니다. 여기에 있습니다 : [link] (http://i.imgur.com/7BFT0.jpg) 어떻게 고칠 수 있습니까? 모든 공백을 삭제했습니다 – user1409508

+0

예, 괜찮은 텍스트 편집기에서여십시오 (Windows 인 경우, 메모장 ++로 시도하십시오) 인코딩을 "BOM없이 UTF-8"로 설정하십시오. 그런 다음 파일을 다시 저장하십시오. 이것이 정답이면 동의로 표시하십시오.감사합니다 :-) – Jhong

+0

와우, 이제 좋아 보여요! ** 도움 ** 주심 ** 및 ** deceze ** 감사합니다. – user1409508

0

정확하게 올바른 DOCTYPE 정보를 포함하지 않으면 기본 모드입니다. <!DOCTYPE HTML>는 그것을 자르지 않을 것입니다. 이 링크를 읽은 후, 전혀 분명히 어떤 문서 타입이 엄격 모드를 트리거하도록되어 있기 때문에 내가 아는 분명히 모든

http://www.quirksmode.org/css/quirksmode.html

은 틀렸다.

This link은 크로스 브라우저가 작동하는지 확인하기 위해 특히 맹활약입니다.

+0

HTML5 doctype이 아닌가요? – Jhong

+0

은 완벽하게 유효한 doctype이며 HTML5를 나타냅니다. (그냥 편집을 보았습니다, 그래서 내 downvote을 폐지 해요) – GordonM

0

<style type="text/css"> 당신의 PHP 태그 위를 넣어해야한다고 생각합니다. doctype은 IE가 quirks 모드가되지 않도록 파일의 맨 위에 있어야합니다.

관련 문제