2012-12-26 81 views
1

我正在尝试制作此模板,我将在稍后将其转换为WordPress主题。我遇到的问题类似于这篇文章:Make div stay at bottom of page's content all the time even when there are scrollbars但是,当我尝试解决这个帖子的解决方案,但没有为我工作。定位页脚底部网页页面

我想要的是页脚位于页面的最底部(如果内容长于查看器的浏览器窗口,则隐藏该页面)并且不会将其固定在窗口的底部。

所有的顶级内容(导航,酒吧,标志等)都放置在我希望的位置。但页脚和页脚上方的链接不在页面的最底部。相反,当它第一次加载时,它将自己置于页面的底部。它拥有的内容越多,它就停留在首次加载的区域。见下图: footer stuck in the middle

下面是网页下面的HTML/CSS:

HTML

<div id="blackbar"></div> 

    <div id="wrapper"> 

     <div id="redbar"> 
     <img src="images/logo_broeren_03.png" alt="" title="" /> 
     </div> 

     <div id="navigationWrapper"> 
      <ul> 
       <li><a href="#">Contact Us</a></li> 
       <li><a href="#">Who We Are</a></li> 
       <li><a href="#">Our Portfolio</a></li> 
       <li><a href="#">Home</a></li> 
      </ul> 
      <div id="whitebar"> 
       <img src="images/logo_broeren_04.png" alt="" title="" /> 
      </div> 
     </div> 

     <div id="newsbar"> 
     </div> 

     <div id="contentWrapper"> 

      <div id="secondaryNavigation"> 
      </div> 

      <div id="slider-headline"> 
      </div> 

      <div id="content"> 
       <div class="post"> 
        <p>Contains post content</p> 
       </div> 
      </div> 

     </div> 
    </div> 



    <div id="footer"> 
    <span id="studioLink">designed by Two Eleven Studios</span> 
     <ul> 
      <li>602 N. Country Fair Drive, P.O. Box 6537 &#8226; Champaign, Illinois 61826&#8211;6537</li> 
      <li>217&#8211;352&#8211;4232</li> 
      <li>[email protected]</li> 
      <li>&copy; 2012 Broeren Russo Inc.</li> 
     </ul> 
    </div> 

CSS

/*General Implementations*/ 
body { 
    background: #6CF; 
    width: 100%; 
} 

/*Main Elements*/ 
/*Black bar on the far left side*/ 
#blackbar { 
     background: #000; 
     height: 55px; 
     position: absolute; 
     top: 25px; 
     /*width: 155px;*/ 
     width: 15%; 
    } 

/*Red bar containing red part image of logo*/ 
#redbar { 
    background: #C0272D; 
    width: 114px; 
    height: 80px; 
    float: left; 
} 
#redbar img { 
    float: right; 
    position: relative; 
    top: 24px; 
} 

/*Wrapper containing main content, navigation, white bar w/ logo, news feed, and main content*/ 
#wrapper { 
    width: 798px; 
    height: 100%; 
    float: left; 
    position: absolute; 
    left: 15%; 
    /*left: 155px;*/ 
} 

/*Navigation wrapper containing white bar w/ logo and main navigation*/ 
#navigationWrapper { 
    width: 570px; 
    height: 130px; 
    position: relative; 
    top: 0; 
    float: left; 
    font-size: 12px; 
    font-family: 'RobotoLight', Arial, sans-serif; 
    text-transform: uppercase; 
} 

/*Main navigation settings*/ 
#navigationWrapper ul { 
    /*position: relative; 
    top: 0; 
    float: right;*/ 
    height: 24px; 
    width: 570px; 
} 
#navigationWrapper ul li { 
    display: inline-block; 
    width: 114px; 
    /*height: 22px;*/ 
    text-align: right; 
    float: right; 
    padding: 3px 0 0 0; 
} 
#navigationWrapper ul li:hover { 
    border-top: 2px #C0272D solid; 
    padding: 1px 0 0 0; 
} 
#navigationWrapper ul li a { 
    position: relative; 
    top: 10px; 
    color: #000; 
    text-decoration: none; 
} 

/*White bar w/ white logo*/ 
#whitebar { 
    background: #FFF; 
    height: 56px; 
    width: 570px; 
    position: relative; 
    top: 0px; 
} 
#whitebar img { 
    float: left; 
    position: absolute; 
} 

/*News feed on the side*/ 
#newsbar { 
    width: 114px; 
    height: 179px; 
    background: #FFF; 
    margin: 80px 0 0 0; 
} 

/*Slider/Headline Block and content block*/ 
#slider-headline, #content { 
    width: 684px; 
} 
/*Slider/Headline Block*/ 
#slider-headline { 
    background: #000; 
    height: 302px; 
} 
/*content block*/ 
#content { 
    background: #FFF; 
    padding: 6.5em 0 1em 0; 
    margin: 0 0 1.5em 0; 
} 
/*wrapper containing slider/headline block and content block*/ 
#contentWrapper { 
    width: 684px; 
    margin: -179px 0 24px 114px;  
} 

/*Company tagline (only on index page)*/ 
#companyTagline { 
    float: right; 
    font-family: 'RobotoMedium', Arial, sans-serif; 
    margin: 5px 0 0 0; 
} 

/*Secondary navigation within contentWrapper*/ 
#secondaryNavigation { 
    width: 611px; 
    height: 110px; 
    margin: 0 auto; 
    position: absolute; 
    background: #666; 
    z-index: 10; 
    top: 320px; 
    right: 44px; 
} 

/*Post settings*/ 
.post { 
    width: 89%; 
    margin: 0 auto; 
} 

/*Studio link*/ 
#studioLink { 
    position: absolute; 
    bottom: 27px; 
    left: 3px; 
    font: 8px 'RobotoLight', Arial, sans-serif; 
} 

/*Main footer*/ 
#footer { 
    position: absolute; 
    bottom: 0; 
    width: 100%; 
    background: #CCC; 
    height: 24px; 
} 
#footer ul { 
    width: 684px; 
    margin: 0 auto; 
} 
#footer ul li { 
    list-style-image: none; 
    display: inline-block; 
    font: 9px/11px 'RobotoLight', Arial, sans-serif; 
    margin: 0 23px 0 0; 
} 
#footer ul li:last { margin: 0; } 

我知道的一部分问题是所有的顶级内容(导航,顶部的白色条等)在其中具有position: absolute; CSS。但我想保留这个CSS声明。如何获得页脚和脚注本身位于页面/内容底部的链接,而不是位于窗口底部?

+0

尝试将footer ul {width:684px;}'改为'footer ul {width:100%;}' – Vucko

+0

每当我必须使用footer进行游戏时,这是我第一次使用..http:// www.cssstickyfooter.com/ – Scorpio

+0

@Vucko我将'footer ul'设置为'width:684px'的原因是因为我想让该区域随着页面的主要内容一起移动。为了发生这种情况,需要定义一个宽度。 – Abriel

回答

2

所以这里。花了很长的时间,因为绝对定位

<body> 
<div style="width:100%; min-height: 100%; position: relative; display:inline-block;"> 
    <div id="blackbar"> 
    </div> 
    <div id="wrapper"> 
     <div id="redbar"> 
      <img src="images/logo_broeren_03.png" alt="" title="" /> 
     </div> 
     <div id="navigationWrapper"> 
      <ul> 
       <li><a href="#">Contact Us</a></li> 
       <li><a href="#">Who We Are</a></li> 
       <li><a href="#">Our Portfolio</a></li> 
       <li><a href="#">Home</a></li> 
      </ul> 
      <div id="whitebar"> 
       <img src="images/logo_broeren_04.png" alt="" title="" /> 
      </div> 
     </div> 
     <div id="newsbar"> 
     </div> 
     <div id="contentWrapper"> 
      <div id="secondaryNavigation"> 
      </div> 
      <div id="slider-headline"> 
      </div> 
      <div id="content"> 
       <div class="post"> 
        <p> 
         Contains post content</p> 
        <br /> 
        <p> 
         Contains post content</p> 
        <br /> 
        <p> 
         Contains post content</p> 
        <br /> 
        <p> 
         Contains post content</p> 
        <br /> 
        <p> 
         Contains post content</p> 
        <br /> 
        <p> 
         Contains post content</p> 
        <br /> 
        <p> 
         Contains post content</p> 
        <br /> 
        <p> 
         Contains post content</p> 
        <br /> 
        <p> 
         Contains post content</p> 
        <br /> 
        <p> 
         Contains post content</p> 
        <br /> 
        <p> 
         Contains post content</p> 
        <br /> 
        <p> 
         Contains post content</p> 
        <br /> 
       </div> 
      </div> 
     </div> 
    </div> 
    <div id="footer"> 
     <span id="studioLink">designed by Two Eleven Studios</span> 
     <ul> 
      <li>602 N. Country Fair Drive, P.O. Box 6537 Champaign, Illinois 618266537</li> 
      <li>2173524232</li> 
      <li>[email protected]</li> 
      <li> 2012 Broeren Russo Inc.</li> 
     </ul> 
    </div> 
</div> 
</body> 

CSS

<style type="text/css"> 
    /*General Implementations*/ 
    html, body 
    { 
     background: #6CF; 
     width: 100%; 
     height: 100%; 
    } 

    /*Main Elements*/ 
    /*Black bar on the far left side*/ 
    #blackbar 
    { 
     background: #000; 
     height: 55px; 
     position: absolute; 
     top: 25px; /*width: 155px;*/ 
     width: 15%; 
    } 

    /*Red bar containing red part image of logo*/ 
    #redbar 
    { 
     background: #C0272D; 
     width: 114px; 
     height: 80px; 
     float: left; 
    } 
    #redbar img 
    { 
     float: right; 
     position: relative; 
     top: 24px; 
    } 

    /*Wrapper containing main content, navigation, white bar w/ logo, news feed, and main content*/ 
    #wrapper 
    { 
     width: 798px; 
     min-height: 100%; 
     float: left; 
     position: relative; 
     left: 15%; /*left: 155px;*/ 
    } 

    /*Navigation wrapper containing white bar w/ logo and main navigation*/ 
    #navigationWrapper 
    { 
     width: 570px; 
     height: 130px; 
     position: relative; 
     top: 0; 
     float: left; 
     font-size: 12px; 
     font-family: 'RobotoLight' , Arial, sans-serif; 
     text-transform: uppercase; 
    } 

    /*Main navigation settings*/ 
    #navigationWrapper ul 
    { 
     /*position: relative; 
top: 0; 
float: right;*/ 
     height: 24px; 
     width: 570px; 
    } 
    #navigationWrapper ul li 
    { 
     display: inline-block; 
     width: 114px; /*height: 22px;*/ 
     text-align: right; 
     float: right; 
     padding: 3px 0 0 0; 
    } 
    #navigationWrapper ul li:hover 
    { 
     border-top: 2px #C0272D solid; 
     padding: 1px 0 0 0; 
    } 
    #navigationWrapper ul li a 
    { 
     position: relative; 
     top: 10px; 
     color: #000; 
     text-decoration: none; 
    } 

    /*White bar w/ white logo*/ 
    #whitebar 
    { 
     background: #FFF; 
     height: 56px; 
     width: 570px; 
     position: relative; 
     top: 0px; 
    } 
    #whitebar img 
    { 
     float: left; 
     position: absolute; 
    } 

    /*News feed on the side*/ 
    #newsbar 
    { 
     width: 114px; 
     height: 179px; 
     background: #FFF; 
     margin: 80px 0 0 0; 
    } 

    /*Slider/Headline Block and content block*/ 
    #slider-headline, #content 
    { 
     width: 684px; 
    } 
    /*Slider/Headline Block*/ 
    #slider-headline 
    { 
     background: #000; 
     height: 302px; 
    } 
    /*content block*/ 
    #content 
    { 
     background: #FFF; 
     padding: 6.5em 0 1em 0; 
     margin: 0 0 1.5em 0; 
    } 
    /*wrapper containing slider/headline block and content block*/ 
    #contentWrapper 
    { 
     width: 684px; 
     margin: -179px 0 24px 114px; 
    } 

    /*Company tagline (only on index page)*/ 
    #companyTagline 
    { 
     float: right; 
     font-family: 'RobotoMedium' , Arial, sans-serif; 
     margin: 5px 0 0 0; 
    } 

    /*Secondary navigation within contentWrapper*/ 
    #secondaryNavigation 
    { 
     width: 611px; 
     height: 110px; 
     margin: 0 auto; 
     position: absolute; 
     background: #666; 
     z-index: 10; 
     top: 320px; 
     right: 44px; 
    } 

    /*Post settings*/ 
    .post 
    { 
     width: 89%; 
     margin: 0 auto; 
    } 

    /*Studio link*/ 
    #studioLink 
    { 
     position: absolute; 
     bottom: 27px; 
     left: 3px; 
     font: 8px 'RobotoLight' , Arial, sans-serif; 
    } 

    /*Main footer*/ 
    #footer 
    { 
     position: absolute; 
     bottom: 0; 
     left: 0px; 
     width: 100%; 
     background: #CCC; 
     height: 24px; 
    } 
    #footer ul 
    { 
     width: 684px; 
     margin: 0 auto; 
    } 
    #footer ul li 
    { 
     list-style-image: none; 
     display: inline-block; 
     font: 9px/11px 'RobotoLight' , Arial, sans-serif; 
     margin: 0 23px 0 0; 
    } 
    #footer ul li:last 
    { 
     margin: 0; 
    } 
</style> 

这里是fiddle。为我完美工作。检入Chrome和Firefox。

+0

@syedmoshin这就是我一直在寻找的! :) 非常感谢。 – Abriel

+0

什么改变了?修复它的重要变化是什么? – Geoff

-1

将身体height: 100%;overflow: auto; 设置页脚position: fixed;bottom: 0;left: 0;

那么你必须只设置您的内容与页脚的高度的下边距。

+0

这不允许在向下滚动到底部时看到底部页脚,这正是我想要的。相反,它仍然固定在浏览器窗口的最底部。 – Abriel

-1

从绝对更改页脚的位置固定:

#footer { 
    position: fixed; 
    ... 
} 
+0

每当我这样做,它不会将其设置到页面的底部。相反,将其设置到窗口的最底部,这是我不想要的。 – Abriel

+0

我明白了,我误解了这个问题,抱歉。 – JimmyRare

+0

没关系。 :)我没有在上面澄清这个问题。重新编辑了最初的帖子。 – Abriel

0

http://ryanfait.com/resources/footer-stick-to-bottom-of-page/

HTML

 <div class="wrapper"> 
      <p>http://ryanfait.com/resources/footer-stick-to-bottom-of-page/</p> 
      <div class="push"></div> 
     </div> 
     <div class="footer"> 
      <p>Copyright &copy; 2008</p> 
     </div> 

CSS

html, body { 
    height: 100%; 
} 
.wrapper { 
    min-height: 100%; 
    height: auto !important; 
    height: 100%; 
    margin: 0 auto -4em; /*!*/ 
} 
.footer, .push { 
    height: 4em; /*!*/ 
    clear: both; 
} 
+0

我之前尝试过这个解决方案,但对我来说并不适合。我的代码中有没有一种方法可以实现这个功能?你能在jFiddle中展示我吗? – Abriel

+0

您使用太多的位置:绝对。 对我而言,再一次写下所有内容比将代码放在一起更容易。 – Tymek

+0

我可以尝试再次重写。我不想用太多的div来包含所有的东西,这就是为什么我做了'position:绝对的';' – Abriel

1

试试这个公式。在匆忙

<div class="header"> 
</div> 
<div id="Content"> 
<div class="con"></div> 
</div> 
<div class="header"> 
</div> 

CSS

html, body 
{ 
height: 99%; 
background-color:Black; 
} 
.header ,.footer 
{ 
width: 960px; 
height: 15%; 
background-color:Gray; 
} 
#Content 
{ 
min-height: 85%; 
width: 960px; 
background-color:Navy; 
} 
.con 
{ 
min-height:900px; 
width:960px; 
background-color:Aqua; 
}​ 

小提琴here

+0

你能用jsFiddle告诉我这个例子吗?我很困惑,哪个应该是页脚内容。 – Abriel

+0

@synedmohsin这个想法适用于我...但现在,我有一些内容需要互相交互,随着浏览器窗口变大而扩展。在HTML/CSS中,我如何实现你的例子? – Abriel

+0

@synedmoshin过了一段时间,我想出了一个使用以下配置的答案。但是,我发现使用下面的其他答案更容易。 – Abriel