0

高さを固定したヘッダーとフッター (= Nav) を持つページを作成しようとしています。その間に contentWrapper div があり、画面の最大高さを埋めるために完全に伸びます。contentWrapper には、フォームを含む content div があります。親 div contentWrapper に従って、このコンテンツ div を垂直方向と水平方向の両方に配置する必要があります。これはかなりうまく機能しますが、Firefox (バージョン 22.0) ではなく、Chrome と IE でのみ機能します。

この動作を観察できるこのフィドルを作成し、さまざまなブラウザーを試してください。 http://jsfiddle.net/qWYqb/

Mozilla Firefox でこれを修正する方法はありますか?

HTML:

<div id="pageWrapper">
            <header>
                <div id="logo">
                    Logo
                </div>        
            </header>
            <div id="contentWrapper">
                <div class="valignMiddle">
                    <div id="content">
                        <form>
                            <table>
                                <tbody>
                                    <tr>
                                        <td><label for="fullName">Full Name</label></td>
                                        <td><input id="fullName" type="text" name="fullName" required="required" /></td>
                                    </tr>
                                    <tr>
                                        <td><label for="email">E-mail</label></td>
                                        <td><input id="email" type="email" name="email" required="required" /></td>
                                    </tr>
                                </tbody>
                            </table>
                            <div>
                                <input type="submit" id="submit-go" value="Start Now"/>  
                            </div>                
                        </form>  
                    </div>
                </div>
            </div>
            <nav>    
                <ul>
                    <li><a href="#" class="btn1">Option1</a></li>
                    <li><a href="#" class="btn2">Option2</a></li>
                </ul>
            </nav>
        </div>

CSS

* {
    margin: 0;
    padding: 0;
    outline:none;
}
html, body{
    min-height: 100%;
        margin: 0;
    padding: 0;
}

table
{
    border-collapse: collapse;
    border-spacing: 0;
}

td, th {
    vertical-align:top;
}

body{
    background-color: #E3E3E3;
}
/* This padding is there to stop margin collapsing */
div {
    padding: 1px 0;
}

#pageWrapper{
    position:absolute; top:0; bottom:0; left:0; right:0;
    padding: 126px 0 100px 0;
    margin: 0 auto;
    width: 400px;
    overflow: hidden
}

/* --- HEADER --- */
header{ 
    width: 100%;
    height: 126px;
    margin-top:-126px;
    background: yellow;
}

/* --- MAIN CONTENT --- */
#contentWrapper{
    width: 100%;
    position: static; 
    display: table; 
    overflow: hidden; 
    min-height: 100%;
    background: red;
}

.valignMiddle { 
    position: static; 
    display: table-cell; 
    vertical-align: middle; 
    width: 100%; 
}

#content{
    width: 293px;
    margin: 0 auto;
    background: green;
}

/* --- NAVIGATION --- */
nav {
    width: 100%;
    height: 100px;
    margin-bottom:-100px;
    background: pink;
}

nav li {
    display: inline-block;
    list-style: none outside none;
}

nav ul {
    text-align: center;
}
4

1 に答える 1