0

私は実際にMVC構造を使用してPHPプロジェクトに取り組んでいます。これには、ob°start()を使用した出力バッファリング中に単一のファイルを介したDOCTYPE&HEADタグが含まれます。

問題は、ページの下部にフッターを貼り付けるために、mayページコンテナのmin-heightプロパティを宣言したいときに発生します。ob_start()-ob_get_clean()を使用すると、ブラウザがこれらのプロパティに時間内にアクセスすることが禁止されているため、高さの値を評価できません。

これは私のindex.phpファイルです:

<?php
include_once('global/init.php');
ob_start();
if(isset($_GET['module'])){
    $module = dirname(__FILE__).'/modules/'.htmlspecialchars($_GET['module']).'/';
    $action = (isset($_GET['action'])) ? htmlspecialchars($_GET['action']).'.php' : 'index.php';
    if(!file_exists($module.$action)){
        include('global/home.php');
    }else{
        include($module.$action);
    }
}else{
    include('global/home.php');
}
$content = ob_get_clean();
include_once('global/header.php');
echo $content;
include_once('global/footer.php');

header.phpファイルには、doctypeとhtmlの最初の基本が含まれています。

<html>
<head>
    <meta charset='UTF-8' />
    <title><?php echo "LiveSession".' '.DOMAIN_INFOS;?></title>
    <meta name='description' content='<?php echo $_SESSION['currentDesc'];?>' />
    <meta name='keywords' content='<?php echo $_SESSION['currentKWds'];?>' />
    <link rel='stylesheet' media='screen and (max-width:480px)' href='css/smartphones.css' />
    <!-- TABLETS -->
    <script type='text/javascript' src='scripts/jquery.1.7.js'></script>
    <script type='text/javascript' src='scripts/poll_edit.js'></script>
    <script type='text/javascript' src='scripts/smartphones.js'></script>
</head>
<body>
    <div id='page'>
        <div id='header'>
            <h1><a href='index.php'>InteractivePollSession</a></h1>
            <?php
                if(is_connected_user()){
                    echo "<span id='disconnector'><a href='index.php?module=members&amp;action=dscnx' title='disconnect'>Disconnect</a></span>";
                }
            ?>
        </div>
        <div id='contentWrap'>

フッター:

            </div>
        <div id='footer'>
            <span id='central-footer'>&copy; <a href='http://www.jsteitgen.com'>JSTeitgen</a></span>
        </div>
    </div>
</body>

そして、基本的なcssの例:

body{height:100%;}
#page{min-height:100%; position:relative;}
#footer{position:absolute; bottom:0; width:100%;}

ob_start()を使用してこれを修正する方法を知っている人はいますか?もちろん、これを除いて、他のすべてのCSSルールは正常に機能します...

ありがとう

JS

4

2 に答える 2

0

問題ではob_start()ありません。問題はhtml/cssの問題だけです。要素の親の高さが固定されている場合にのみ、パーセンテージで高さを使用できます。

あなたの場合、#page親はbodyであり、bodyの高さは100%であるため、の高さをパーセンテージで使用することはできません#page。しかし、あなたはこれを例えば試すことができます:

body{height: 1000px;}
#page{min-height:100%; position:relative;}
#footer{position:absolute; bottom:0; width:100%;}
于 2013-01-23T14:19:04.853 に答える
0

問題はcssにあると思います。body要素の高さをその親である要素の 100% に設定していますがhtml、必ずしも高さが 100% であるとは限りません。

以下を使用して問題を解決できるはずです。

html, body {
  height: 100%;
}
于 2013-01-23T14:24:49.297 に答える