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>

ブラウザがこのウェブサイトをクァークズモードで表示する理由を誰かが説明できますか?これで最悪なのは、画面上部の余白です。これは本当に迷惑です。この問題と解決策についての情報をいただければ幸いです。

4

3 に答える 3

1

有効なHTML5DOCTYPEのようです。

を開く前に、PHPファイルに余分なスペースや改行が含まれていないことを確認してください<?phpテキストエディタで、BOMなしのUTF-8として保存していることを確認してください。Windowsでは、デフォルトで、多くのテキストエディタがBOM(バイト順マーカー)を挿入します。これにより、ファイルの最初の行としてガベージが画面に送信される可能性があります。DOCTYPEより前のコンテンツは、クァークズモードをトリガーします。

また、styleタグは<style type="text/css">

于 2012-05-22T07:17:17.757 に答える
0

正確な正しいDOCTYPE情報を含めない場合、Quirksモードがデフォルトです。 <!DOCTYPE HTML>それをカットするつもりはありません。

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

どうやら私が知っていたすべてが間違っていたようです。なぜなら、このリンクを読んだ後、どうやらすべてのDoctypeが厳密モードをトリガーすることになっているからです。

このリンクは、クロスブラウザがここで機能しているかどうかを理解するために、特に付録で非常に優れています。

于 2012-05-22T07:05:38.710 に答える
0

上記のphpタグを付けてください。IEがquirksモードにならないようにするには、doctypeをファイルの先頭に置く必要があります。

于 2013-04-26T12:54:18.303 に答える