Центр нижнего колонтитула фиксируется в нижней части IE - PullRequest
4 голосов
/ 05 мая 2010

Я кодирую веб-интерфейс для университетского проекта и имею дело с этой проблемой:

Я хочу, чтобы мой нижний колонтитул был зафиксирован внизу, чтобы он был на месте, независимо от того, какой экран я использую, или если я переключаю режим полного экрана

Работает во всех других браузерах, кроме IE7 (мне не нужно поддерживать предыдущие версии)

HTML

    <div id="menu">
        <a href="information.html"  rel="shadowbox;height=500;width=650"      title="INFORMATION" >
            <img src="images/info.png" alt="information icon" />
        </a>
        <a href="images/bricks_of_destiny.jpg" rel="shadowbox[gallery]"  title="IMAGES" >
            <img src="images/image.png" alt="image icon"  />
        </a>
        <a href="music_player.swf" title="MUSIC" rel="shadowbox;height=400;width=600" >
            <img src="images/music.png" alt="music icon" />
        </a>
        <a href="#" title="MOVIES"><img src="images/television.png" alt="movies icon"  /></a>
        <a href="quotes.html" title="QUOTES" rel="shadowbox;height=300;width=650" >
            <img src="images/male_user.png" alt="male user icon"  />
        </a>
        <a href="#" title="REFERENCES">
            <img src="images/search_globe.png" alt="search globe icon"  />
        </a>
    </div>
    <a href="images/destiny_1.jpg" rel="shadowbox[gallery]" title="IMAGES"></a>
    <a href="images/destiny_carma_jewell.jpg" rel="shadowbox[gallery]" title="IMAGES"></a>
    <a href="images/destiny-joan-marie.jpg" rel="shadowbox[gallery]" title="IMAGES"></a>
    <a href="images/pursuing_destiny.jpg" rel="shadowbox[gallery]" title="IMAGES"></a>

    <div class="clear"></div>


    <div id="destiny">
        Discover more about the word <span class="strong">DESTINY </span>! Click one of the icon above!
        (F11  Toggle Full / Standard screen)
     </div>

     <div id="footer">
        <ul id="breadcrumbs">
            <li>Disclaimer</li>
            <li> | Icons by: <a href="http://dryicons.com/" rel="shadowbox">dryicons.com</a></li>
            <li> | Website by: <a href="http://www.eezzyweb.com/" rel="shadowbox">eezzyweb</a></li>
            <li> | <a href="http://jquery.com/" rel="shadowbox">jQuery</a></li>
        </ul>
    </div>
</div>

CSS:

#wrapper{
text-align:center;
margin:0 auto;
width:750px;
height:430px;
border:1px solid #fff;
}
#menu{
position:relative;
margin:0 auto;
top:350px;
width:450px;
height:60px;
}
#destiny{
position:relative;
top:380px;
color:#FFF;
font-size:1.5em;
font-weight:bold;
border:1px solid #fff;
}
#breadcrumbs{
list-style:none;
}
#breadcrumbs li{
display:inline;
color:#FFF;
}
#footer{
position:absolute;
width:750px;
height:60px;
margin:0 auto;
text-align:center;
border:1px solid #fff;
bottom:0;
}
.clear{
    clear:both;
}

Белые границы существуют только для целей отладки

Приложение размещено на http://www.eezzyweb.com/destiny/

Любое предложение приветствуется

Ответы [ 3 ]

3 голосов
/ 05 мая 2010

CSS:

html, body {
    height: 100%;
    margin: 0;
    padding: 0;
}
#wrapper {
    min-height: 100%;
    height: auto !important;
    height: 100%;
    margin: 0 auto -150px; /* the bottom margin is the negative value of the footer's height */
}
#footer, #push {
    height: 150px; /* #push must be the same height as #footer */
}

HTML:

<body>
    <div id="wrapper">
        <!-- ALL non-footer content goes in this DIV. -->

        <div id="push"></div>
    </div>
    <div id="footer">
        <ul id="breadcrumbs">
            <li>Disclaimer</li>
            <li> | Icons by: <a href="http://dryicons.com/" rel="shadowbox">dryicons.com</a></li>
            <li> | Website by: <a href="http://www.eezzyweb.com/" rel="shadowbox">eezzyweb</a></li>
            <li> | <a href="http://jquery.com/" rel="shadowbox">jQuery</a></li>
        </ul>
    </div>
</body>

Код, адаптированный с http://ryanfait.com/sticky-footer/

Я использовал этот подход на нескольких сайтах, которые я разработал, включая мой личный сайт. Работает отлично! И даже в IE6 (даже если вы сказали, что это не нужно).

2 голосов
/ 05 мая 2010

margin: auto; - это то, что сломано в IE7.Вы можете обойти его с помощью

#footer {
  width: 100%;
  left: 0px;
}

, поскольку таким образом div растягивается на полную ширину, и ul автоматически выравнивается по центру.
Но, возможно, это не то, что вы хотите.

Если это не приемлемое решение, люди в сети говорят, что вы можете исправить это, выровняв текст родителя по центру - но это может привести к перекручиванию оставшейся части макета ... вам придется поиграть с этим,но, по крайней мере, ты знаешь, что происходит плохо.

1 голос
/ 05 мая 2010
html, 
body {
    height: 100%;
}
#wrapper {
    position: relative;
    height: auto !important;
    height: 100%;
    min-height: 100%;
}
#footer{
    left: 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...