アプリケーション用の非常に単純なレイアウトがあります。ヘッダー、メイン コンテンツ、およびフッター。意味的には、次のようにレンダリングされます。
<body>
<div id = "header"> </div>
<div id = "content"> </div>
<div id = "footer"> </div>
</body>
対応する CSS も非常に基本的なものです。
#header{
width:100%;
min-height:10%;
}
#center{
width:100%;
min-height:80%;
}
#footer{
width:100%;
min-height:10%:
}
レイアウト ページでわかるように、コンテンツは次のようにレンダリングされます。
<div id= "content">
<?php echo $sf_content; ?>
</div>
上記のすべては非常に優れており、想定どおりにレンダリングされます。しかし、これには問題があります。フッターに入れた瞬間<?php echo $sf_content; ?>
は、#content マークアップの後の div としてではなく、コンテンツの一部として含まれます。
基本的に、私はこれを取得します:
<div id = "header"></div>
<div id = "content>
<div id ="symfony_template_to_be_rendered">
<!-- all web application related content like forms etc. -->
</div>
<div id = "footer">Footer material
</div>
</div>
ご覧のとおり、奇妙な理由で、symfony のコンテンツとともにフッターが上に移動しました。レイアウトの div タグから php ハッシュ $sf_content 部分を削除すると、フッターが本来あるべき場所にレンダリングされ、すべてが必要なサイズを占有するため、明らかにこれは不具合です。
何が起きてる?