Footer wont stay at bottom of page due to a table

梦想的初衷 提交于 2019-12-12 01:45:25

问题


I'm making a simple content management system, my CSS and layout works for everything apart from I make a table which then somehow moves the footer section to move into a wrapper sort of section above it. Even text below table gets output above the table.

My basic layout...

        <?php
        session_start();
        //nav bar //top part of page which fully works etc
        include "header.php";
    ?>

    <section class= "mainSection">

    <section class = "subMain">
    <p> this should be above </p>

    <?php include "/mysql/catgoryShow.php"; ?>

    <p> this should be below the table </p>

    </section>

    </section>
    <footer class = "mainFooter">

    </footer>

</body>

my important parts of the css...

section.mainSection{

margin-left: 4%;
margin-right:4%;
min-height: 1000px;
background-color: #ffffff;

border-left-style:solid;
border-left-color:#DAE3ED;
border-left-width:5px;

border-right-style:solid;
border-right-color:#DAE3ED;
border-right-width:5px;



   }

section.subMain{
margin-left: 10%;
margin-right: 10%;
padding-top:10%;
padding-bottom: 2%;

 }

my footer css

footer.mainFooter{

margin-left: 4%;
margin-right:4%;
height: 75px;
background-color:#78B0F0;
border-top-style:solid;
border-top-color:#DAE3ED;
border-top-width:5px;
 }

and finally my table

    <?php
$result=mysql_query($query);

$num=mysql_numrows($result);
    echo "<p>'$query' returns $num rows:<p>\r\n";
?>
<table border="0" cellspacing="2" cellpadding="2">
<tr>
<td><font face="Arial, Helvetica, sans-serif">|Product ID|</font></td>
<td><font face="Arial, Helvetica, sans-serif">|Product Name|</font></td>
<td><font face="Arial, Helvetica, sans-serif">Product Category|</font></td>
<td><font face="Arial, Helvetica, sans-serif">Product Minimum Age|</font></td>
<td><font face="Arial, Helvetica, sans-serif">Product Discription|</font></td>
<td><font face="Arial, Helvetica, sans-serif">Product Price|</font></td>
<td><font face="Arial, Helvetica, sans-serif">Product Quantily Available|</font></td>
<td><font face="Arial, Helvetica, sans-serif">View Product Page|</font></td>
</tr>

<?php
$i=0;
while ($i < $num) {

$f1=mysql_result($result,$i,"ProductID");
$f2=mysql_result($result,$i,"ProductName");
$f3=mysql_result($result,$i,"ProductCategory");
$f4=mysql_result($result,$i,"SuitableAge");
$f5=mysql_result($result,$i,"ProductDiscription");
$f6=mysql_result($result,$i,"ProductPrice");
$f7=mysql_result($result,$i,"ProductAvailable");
?>

<tr>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f4; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f5; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f6; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f7; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><?php echo $f7; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><a href="../cw/itemPage.php?id=<?php echo $f1?>">View Details</a></font></td>
</tr>

<?php

$i++;
}
   echo "<p>'$query' returns $num rows:<p>\r\n";


?>

Both of the echos that show the query get printed before the table somehow aswell :/


回答1:


As noted before - you must close that table element with the appropriate </table> tag. In rare cases the table might also be inheriting some floating values so footer.mainFooter { clear: both; } should fix that.




回答2:


As noted by @cimmanon closing this <table> tag would be a really good start




回答3:


For the main footer's css, add position:relative and bottom:0. It will always be fixed to the bottom.



来源:https://stackoverflow.com/questions/14102228/footer-wont-stay-at-bottom-of-page-due-to-a-table

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!