1

PHP Smarty を使用すると奇妙なことが起こります。PHPファイルのエンコーディングがcssに影響しているようです。

PHP ファイル (ANSI) --test2.php

<?php
include_once("inc/smarty_inc.php");
$smarty->display('test.tpl.htm');

Smarty ファイル (ANSI) --test.tpl.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>JPR</title>
</head>
<body>
    <div style="width:500px;height:200px; background-color:Red;margin:auto;">
        test
    </div>
</body>
</html>

これら 2 つのファイルが ANSI の場合。div はページの中央に表示されます (IE と Firefox の両方)。

それらの1つがutf-8に変換されるとき。ページの左側に div が表示されます (IE のみ、Firefox では問題ありません)。

どうしたの?IE で uff-8 を使用して OK にする方法は?

4

1 に答える 1

5

ファイルを BOM付きの UTF-8 で保存しています。これにより、応答の最初のバイトが、doctype ではなく、バイト オーダー マークのバイトになります。IE が最初に doctype を認識しない場合、ボックス モデルが異なる quirks モードに移行します。

BOMなしの UTF-8 に変換する必要があります。これは、使用しているテキスト エディターまたはコンバーターによって異なります。

于 2012-12-05T12:07:42.293 に答える